@autobe/compiler 0.9.1 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/lib/AutoBeCompiler.d.ts +2 -1
  2. package/lib/AutoBeCompiler.js +2 -0
  3. package/lib/AutoBeCompiler.js.map +1 -1
  4. package/lib/AutoBeInterfaceCompiler.js +10 -127
  5. package/lib/AutoBeInterfaceCompiler.js.map +1 -1
  6. package/lib/AutoBePrismaCompiler.d.ts +2 -2
  7. package/lib/AutoBeTestCompiler.d.ts +8 -0
  8. package/lib/AutoBeTestCompiler.js +86 -0
  9. package/lib/AutoBeTestCompiler.js.map +1 -0
  10. package/lib/AutoBeTypeScriptCompiler.d.ts +2 -2
  11. package/lib/AutoBeTypeScriptCompiler.js +3 -3
  12. package/lib/AutoBeTypeScriptCompiler.js.map +1 -1
  13. package/lib/index.d.ts +3 -2
  14. package/lib/index.js +3 -2
  15. package/lib/index.js.map +1 -1
  16. package/lib/interface/transformOpenApi.d.ts +3 -0
  17. package/lib/interface/transformOpenApi.js +56 -0
  18. package/lib/interface/transformOpenApi.js.map +1 -0
  19. package/lib/prisma/validatePrismaApplication.js +9 -9
  20. package/lib/prisma/validatePrismaApplication.js.map +1 -1
  21. package/lib/prisma/writePrismaApplication.js +3 -3
  22. package/lib/prisma/writePrismaApplication.js.map +1 -1
  23. package/lib/raw/AutoBeCompilerTemplate.d.ts +1 -0
  24. package/lib/raw/AutoBeCompilerTemplate.js +10 -0
  25. package/lib/raw/AutoBeCompilerTemplate.js.map +1 -0
  26. package/lib/raw/{external.json → nestjs.json} +67 -67
  27. package/lib/raw/test.json +1252 -0
  28. package/lib/test/programmers/AutoBeTestAccessorProgrammer.d.ts +8 -0
  29. package/lib/test/programmers/AutoBeTestAccessorProgrammer.js +19 -0
  30. package/lib/test/programmers/AutoBeTestAccessorProgrammer.js.map +1 -0
  31. package/lib/test/programmers/AutoBeTestFunctionalProgrammer.d.ts +12 -0
  32. package/lib/test/programmers/AutoBeTestFunctionalProgrammer.js +29 -0
  33. package/lib/test/programmers/AutoBeTestFunctionalProgrammer.js.map +1 -0
  34. package/lib/test/programmers/AutoBeTestLiteralProgrammer.d.ts +12 -0
  35. package/lib/test/programmers/AutoBeTestLiteralProgrammer.js +24 -0
  36. package/lib/test/programmers/AutoBeTestLiteralProgrammer.js.map +1 -0
  37. package/lib/test/programmers/AutoBeTestOperatorProgrammer.d.ts +10 -0
  38. package/lib/test/programmers/AutoBeTestOperatorProgrammer.js +38 -0
  39. package/lib/test/programmers/AutoBeTestOperatorProgrammer.js.map +1 -0
  40. package/lib/test/programmers/AutoBeTestPredicateProgrammer.d.ts +9 -0
  41. package/lib/test/programmers/AutoBeTestPredicateProgrammer.js +84 -0
  42. package/lib/test/programmers/AutoBeTestPredicateProgrammer.js.map +1 -0
  43. package/lib/test/programmers/AutoBeTestRandomProgrammer.d.ts +14 -0
  44. package/lib/test/programmers/AutoBeTestRandomProgrammer.js +151 -0
  45. package/lib/test/programmers/AutoBeTestRandomProgrammer.js.map +1 -0
  46. package/lib/test/programmers/AutoBeTestStatementProgrammer.d.ts +11 -0
  47. package/lib/test/programmers/AutoBeTestStatementProgrammer.js +81 -0
  48. package/lib/test/programmers/AutoBeTestStatementProgrammer.js.map +1 -0
  49. package/lib/test/programmers/IAutoBeTestApiFunction.d.ts +5 -0
  50. package/lib/{raw/AutoBeCompilerConstants.js → test/programmers/IAutoBeTestApiFunction.js} +1 -1
  51. package/lib/test/programmers/IAutoBeTestApiFunction.js.map +1 -0
  52. package/lib/test/programmers/IAutoBeTestProgrammerContext.d.ts +9 -0
  53. package/lib/test/programmers/IAutoBeTestProgrammerContext.js +3 -0
  54. package/lib/test/programmers/IAutoBeTestProgrammerContext.js.map +1 -0
  55. package/lib/test/programmers/writeTestExpression.d.ts +4 -0
  56. package/lib/test/programmers/writeTestExpression.js +13 -0
  57. package/lib/test/programmers/writeTestExpression.js.map +1 -0
  58. package/lib/test/programmers/writeTestFunction.d.ts +2 -0
  59. package/lib/test/programmers/writeTestFunction.js +63 -0
  60. package/lib/test/programmers/writeTestFunction.js.map +1 -0
  61. package/lib/test/programmers/writeTestStatement.d.ts +4 -0
  62. package/lib/test/programmers/writeTestStatement.js +10 -0
  63. package/lib/test/programmers/writeTestStatement.js.map +1 -0
  64. package/lib/utils/FilePrinter.d.ts +10 -0
  65. package/lib/utils/FilePrinter.js +54 -0
  66. package/lib/utils/FilePrinter.js.map +1 -0
  67. package/package.json +10 -8
  68. package/src/AutoBeCompiler.ts +4 -0
  69. package/src/AutoBeInterfaceCompiler.ts +10 -135
  70. package/src/AutoBePrismaCompiler.ts +2 -2
  71. package/src/AutoBeTestCompiler.ts +95 -0
  72. package/src/AutoBeTypeScriptCompiler.ts +7 -7
  73. package/src/index.ts +3 -2
  74. package/src/interface/transformOpenApi.ts +54 -0
  75. package/src/prisma/validatePrismaApplication.ts +1 -1
  76. package/src/prisma/writePrismaApplication.ts +1 -1
  77. package/src/raw/AutoBeCompilerTemplate.ts +6 -0
  78. package/src/raw/{external.json → nestjs.json} +67 -67
  79. package/src/raw/test.json +1252 -0
  80. package/src/test/programmers/AutoBeTestAccessorProgrammer.ts +42 -0
  81. package/src/test/programmers/AutoBeTestFunctionalProgrammer.ts +87 -0
  82. package/src/test/programmers/AutoBeTestLiteralProgrammer.ts +65 -0
  83. package/src/test/programmers/AutoBeTestOperatorProgrammer.ts +84 -0
  84. package/src/test/programmers/AutoBeTestPredicateProgrammer.ts +127 -0
  85. package/src/test/programmers/AutoBeTestRandomProgrammer.ts +314 -0
  86. package/src/test/programmers/AutoBeTestStatementProgrammer.ts +154 -0
  87. package/src/test/programmers/IAutoBeTestApiFunction.ts +6 -0
  88. package/src/test/programmers/IAutoBeTestProgrammerContext.ts +11 -0
  89. package/src/test/programmers/writeTestExpression.ts +24 -0
  90. package/src/test/programmers/writeTestFunction.ts +100 -0
  91. package/src/test/programmers/writeTestStatement.ts +15 -0
  92. package/src/utils/FilePrinter.ts +56 -0
  93. package/lib/raw/AutoBeCompilerConstants.d.ts +0 -3
  94. package/lib/raw/AutoBeCompilerConstants.js.map +0 -1
  95. package/lib/utils/StringUtil.d.ts +0 -4
  96. package/lib/utils/StringUtil.js +0 -43
  97. package/lib/utils/StringUtil.js.map +0 -1
  98. package/src/raw/AutoBeCompilerConstants.ts +0 -3
  99. package/src/utils/StringUtil.ts +0 -45
@@ -11561,7 +11561,7 @@
11561
11561
  "node_modules/@nestia/benchmark/lib/internal/DynamicBenchmarkReporter.d.ts": "import { DynamicBenchmarker } from \"../DynamicBenchmarker\";\nexport declare namespace DynamicBenchmarkReporter {\n const markdown: (report: DynamicBenchmarker.IReport) => string;\n}\n",
11562
11562
  "node_modules/@nestia/benchmark/lib/internal/IBenchmarkMaster.d.ts": "export interface IBenchmarkMaster {\n filter: (name: string) => boolean;\n progress: (current: number) => void;\n}\n",
11563
11563
  "node_modules/@nestia/benchmark/lib/internal/IBenchmarkServant.d.ts": "import { IBenchmarkEvent } from \"../IBenchmarkEvent\";\nexport interface IBenchmarkServant {\n execute(props: {\n count: number;\n simultaneous: number;\n }): Promise<IBenchmarkEvent[]>;\n}\n",
11564
- "node_modules/@nestia/benchmark/package.json": "{\n \"name\": \"@nestia/benchmark\",\n \"version\": \"7.0.0\",\n \"description\": \"NestJS Performance Benchmark Program\",\n \"main\": \"lib/index.js\",\n \"typings\": \"lib/index.d.ts\",\n \"scripts\": {\n \"build\": \"npm run build:main && npm run build:test\",\n \"build:main\": \"rimraf lib && tsc\",\n \"build:test\": \"rimraf bin && tsc -p test/tsconfig.json\",\n \"dev\": \"npm run build:test -- --watch\",\n \"prepare\": \"ts-patch install\",\n \"test\": \"node bin/test\"\n },\n \"keywords\": [\n \"e2e\",\n \"nestia\",\n \"nestjs\",\n \"Performance\",\n \"benchmark\"\n ],\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"dependencies\": {\n \"@nestia/fetcher\": \"^7.0.0\",\n \"tgrid\": \"^1.1.0\",\n \"tstl\": \"^3.0.0\"\n },\n \"devDependencies\": {\n \"@nestia/core\": \"^7.0.0\",\n \"@nestia/e2e\": \"^7.0.0\",\n \"@nestia/sdk\": \"^7.0.0\",\n \"@nestjs/common\": \"^11.0.13\",\n \"@nestjs/core\": \"^11.0.13\",\n \"@nestjs/platform-express\": \"^11.0.13\",\n \"@types/uuid\": \"^10.0.0\",\n \"nestia\": \"workspace:^\",\n \"ts-node\": \"^10.9.2\",\n \"ts-patch\": \"^3.3.0\",\n \"typescript\": \"~5.8.3\",\n \"typescript-transform-paths\": \"^3.4.7\",\n \"typia\": \"^9.3.1\",\n \"uuid\": \"^10.0.0\"\n },\n \"files\": [\n \"lib\",\n \"src\",\n \"README.md\",\n \"LICENSE\",\n \"package.json\"\n ]\n}",
11564
+ "node_modules/@nestia/benchmark/package.json": "{\n \"name\": \"@nestia/benchmark\",\n \"version\": \"7.0.3\",\n \"description\": \"NestJS Performance Benchmark Program\",\n \"main\": \"lib/index.js\",\n \"typings\": \"lib/index.d.ts\",\n \"scripts\": {\n \"build\": \"npm run build:main && npm run build:test\",\n \"build:main\": \"rimraf lib && tsc\",\n \"build:test\": \"rimraf bin && tsc -p test/tsconfig.json\",\n \"dev\": \"npm run build:test -- --watch\",\n \"prepare\": \"ts-patch install\",\n \"test\": \"node bin/test\"\n },\n \"keywords\": [\n \"e2e\",\n \"nestia\",\n \"nestjs\",\n \"Performance\",\n \"benchmark\"\n ],\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"dependencies\": {\n \"@nestia/fetcher\": \"^7.0.3\",\n \"tgrid\": \"^1.1.0\",\n \"tstl\": \"^3.0.0\"\n },\n \"devDependencies\": {\n \"@nestia/core\": \"^7.0.3\",\n \"@nestia/e2e\": \"^7.0.3\",\n \"@nestia/sdk\": \"^7.0.3\",\n \"@nestjs/common\": \"^11.0.13\",\n \"@nestjs/core\": \"^11.0.13\",\n \"@nestjs/platform-express\": \"^11.0.13\",\n \"@types/uuid\": \"^10.0.0\",\n \"nestia\": \"workspace:^\",\n \"ts-node\": \"^10.9.2\",\n \"ts-patch\": \"^3.3.0\",\n \"typescript\": \"~5.8.3\",\n \"typescript-transform-paths\": \"^3.4.7\",\n \"typia\": \"^9.3.1\",\n \"uuid\": \"^10.0.0\"\n },\n \"files\": [\n \"lib\",\n \"src\",\n \"README.md\",\n \"LICENSE\",\n \"package.json\"\n ]\n}",
11565
11565
  "node_modules/@nestia/core/lib/adaptors/WebSocketAdaptor.d.ts": "import { INestApplication } from \"@nestjs/common\";\nexport declare class WebSocketAdaptor {\n static upgrade(app: INestApplication): Promise<WebSocketAdaptor>;\n readonly close: () => Promise<void>;\n private constructor();\n private readonly handleUpgrade;\n private readonly http;\n private readonly operators;\n private readonly ws;\n}\n",
11566
11566
  "node_modules/@nestia/core/lib/decorators/DynamicModule.d.ts": "import { ModuleMetadata } from \"@nestjs/common/interfaces\";\n/**\n * Dynamic module.\n *\n * `DynamicModule` is a namespace wrapping a convenient function, which can load\n * controller classes dynamically just by specifying their directory path.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace DynamicModule {\n /**\n * Mount dynamic module.\n *\n * Constructs a module instance with directory path of controller classes.\n *\n * Every controller classes in the target directory would be dynamically mounted.\n *\n * @param path Path of controllers\n * @param metadata Additional metadata except controllers\n * @returns module instance\n */\n function mount(path: string | string[] | {\n include: string[];\n exclude?: string[];\n }, metadata?: Omit<ModuleMetadata, \"controllers\">, isTsNode?: boolean): Promise<{\n new (): {};\n }>;\n}\n",
11567
11567
  "node_modules/@nestia/core/lib/decorators/EncryptedBody.d.ts": "import { IRequestBodyValidator } from \"../options/IRequestBodyValidator\";\n/**\n * Encrypted body decorator.\n *\n * `EncryptedBody` is a decorator function getting `application/json` typed data from\n * request body which has been encrypted by AES-128/256 algorithm. Also,\n * `EncryptedBody` validates the request body data type through\n * [typia](https://github.com/samchon/typia) ad the validation speed is\n * maximum 15,000x times faster than `class-validator`.\n *\n * For reference, when the request body data is not following the promised type `T`,\n * `BadRequestException` error (status code: 400) would be thrown. Also,\n * `EncryptedRoute` decrypts request body using those options.\n *\n * - AES-128/256\n * - CBC mode\n * - PKCS #5 Padding\n * - Base64 Encoding\n *\n * @return Parameter decorator\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function EncryptedBody<T>(validator?: IRequestBodyValidator<T>): ParameterDecorator;\n",
@@ -11633,17 +11633,17 @@
11633
11633
  "node_modules/@nestia/core/lib/utils/Singleton.d.ts": "export {};\n",
11634
11634
  "node_modules/@nestia/core/lib/utils/SourceFinder.d.ts": "export declare namespace SourceFinder {\n const find: (props: IProps) => Promise<string[]>;\n}\ninterface IProps {\n exclude?: string[];\n include: string[];\n filter: (location: string) => boolean;\n}\nexport {};\n",
11635
11635
  "node_modules/@nestia/core/lib/utils/VersioningStrategy.d.ts": "import { VERSION_NEUTRAL, VersionValue } from \"@nestjs/common/interfaces\";\nexport declare namespace VersioningStrategy {\n interface IConfig {\n prefix: string;\n defaultVersion?: VersionValue;\n }\n const cast: (value: VersionValue | undefined) => Array<string | typeof VERSION_NEUTRAL>;\n const merge: (config: IConfig | undefined) => (values: Array<string | typeof VERSION_NEUTRAL>) => string[];\n}\n",
11636
- "node_modules/@nestia/core/package.json": "{\n \"name\": \"@nestia/core\",\n \"version\": \"7.0.0\",\n \"description\": \"Super-fast validation decorators of NestJS\",\n \"main\": \"lib/index.js\",\n \"typings\": \"lib/index.d.ts\",\n \"tsp\": {\n \"tscOptions\": {\n \"parseAllJsDoc\": true\n }\n },\n \"scripts\": {\n \"build\": \"rimraf lib && tsc\",\n \"dev\": \"tsc -p tsconfig.test.json --watch\",\n \"eslint\": \"eslint ./**/*.ts\",\n \"eslint:fix\": \"eslint ./**/*.ts --fix\",\n \"prepare\": \"ts-patch install && typia patch\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"keywords\": [\n \"nestjs\",\n \"nestia\",\n \"typia\",\n \"validator\",\n \"decorator\",\n \"class-validator\",\n \"class-transformer\"\n ],\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"dependencies\": {\n \"@nestia/fetcher\": \"^7.0.0\",\n \"@nestjs/common\": \">=7.0.1\",\n \"@nestjs/core\": \">=7.0.1\",\n \"@samchon/openapi\": \"^4.3.3\",\n \"detect-ts-node\": \"^1.0.5\",\n \"get-function-location\": \"^2.0.0\",\n \"glob\": \"^7.2.0\",\n \"path-parser\": \"^6.1.0\",\n \"raw-body\": \"^2.0.0\",\n \"reflect-metadata\": \">=0.1.12\",\n \"rxjs\": \">=6.0.3\",\n \"tgrid\": \"^1.1.0\",\n \"typia\": \"^9.3.1\",\n \"ws\": \"^7.5.3\"\n },\n \"peerDependencies\": {\n \"@nestia/fetcher\": \">=7.0.0\",\n \"@nestjs/common\": \">=7.0.1\",\n \"@nestjs/core\": \">=7.0.1\",\n \"reflect-metadata\": \">=0.1.12\",\n \"rxjs\": \">=6.0.3\"\n },\n \"devDependencies\": {\n \"@nestjs/common\": \"^11.0.13\",\n \"@nestjs/core\": \"^11.0.13\",\n \"@types/express\": \"^4.17.15\",\n \"@types/glob\": \"^7.2.0\",\n \"@types/inquirer\": \"^9.0.3\",\n \"@types/multer\": \"^1.4.12\",\n \"@types/ts-expose-internals\": \"npm:ts-expose-internals@5.4.5\",\n \"@types/ws\": \"^8.5.10\",\n \"@typescript-eslint/eslint-plugin\": \"^5.46.1\",\n \"@typescript-eslint/parser\": \"^5.46.1\",\n \"commander\": \"^10.0.0\",\n \"comment-json\": \"^4.2.3\",\n \"eslint-plugin-deprecation\": \"^1.4.1\",\n \"fastify\": \"^4.28.1\",\n \"git-last-commit\": \"^1.0.1\",\n \"inquirer\": \"^8.2.5\",\n \"rimraf\": \"^6.0.1\",\n \"ts-node\": \"^10.9.1\",\n \"ts-patch\": \"^3.3.0\",\n \"tstl\": \"^3.0.0\",\n \"typescript\": \"~5.8.3\"\n },\n \"files\": [\n \"README.md\",\n \"LICENSE\",\n \"package.json\",\n \"lib\",\n \"src\"\n ]\n}",
11636
+ "node_modules/@nestia/core/package.json": "{\n \"name\": \"@nestia/core\",\n \"version\": \"7.0.3\",\n \"description\": \"Super-fast validation decorators of NestJS\",\n \"main\": \"lib/index.js\",\n \"typings\": \"lib/index.d.ts\",\n \"tsp\": {\n \"tscOptions\": {\n \"parseAllJsDoc\": true\n }\n },\n \"scripts\": {\n \"build\": \"rimraf lib && tsc\",\n \"dev\": \"tsc -p tsconfig.test.json --watch\",\n \"eslint\": \"eslint ./**/*.ts\",\n \"eslint:fix\": \"eslint ./**/*.ts --fix\",\n \"prepare\": \"ts-patch install && typia patch\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"keywords\": [\n \"nestjs\",\n \"nestia\",\n \"typia\",\n \"validator\",\n \"decorator\",\n \"class-validator\",\n \"class-transformer\"\n ],\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"dependencies\": {\n \"@nestia/fetcher\": \"^7.0.3\",\n \"@nestjs/common\": \">=7.0.1\",\n \"@nestjs/core\": \">=7.0.1\",\n \"@samchon/openapi\": \"^4.3.3\",\n \"detect-ts-node\": \"^1.0.5\",\n \"get-function-location\": \"^2.0.0\",\n \"glob\": \"^7.2.0\",\n \"path-parser\": \"^6.1.0\",\n \"raw-body\": \"^2.0.0\",\n \"reflect-metadata\": \">=0.1.12\",\n \"rxjs\": \">=6.0.3\",\n \"tgrid\": \"^1.1.0\",\n \"typia\": \"^9.3.1\",\n \"ws\": \"^7.5.3\"\n },\n \"peerDependencies\": {\n \"@nestia/fetcher\": \">=7.0.3\",\n \"@nestjs/common\": \">=7.0.1\",\n \"@nestjs/core\": \">=7.0.1\",\n \"reflect-metadata\": \">=0.1.12\",\n \"rxjs\": \">=6.0.3\"\n },\n \"devDependencies\": {\n \"@nestjs/common\": \"^11.0.13\",\n \"@nestjs/core\": \"^11.0.13\",\n \"@types/express\": \"^4.17.15\",\n \"@types/glob\": \"^7.2.0\",\n \"@types/inquirer\": \"^9.0.3\",\n \"@types/multer\": \"^1.4.12\",\n \"@types/ts-expose-internals\": \"npm:ts-expose-internals@5.4.5\",\n \"@types/ws\": \"^8.5.10\",\n \"@typescript-eslint/eslint-plugin\": \"^5.46.1\",\n \"@typescript-eslint/parser\": \"^5.46.1\",\n \"commander\": \"^10.0.0\",\n \"comment-json\": \"^4.2.3\",\n \"eslint-plugin-deprecation\": \"^1.4.1\",\n \"fastify\": \"^4.28.1\",\n \"git-last-commit\": \"^1.0.1\",\n \"inquirer\": \"^8.2.5\",\n \"rimraf\": \"^6.0.1\",\n \"ts-node\": \"^10.9.1\",\n \"ts-patch\": \"^3.3.0\",\n \"tstl\": \"^3.0.0\",\n \"typescript\": \"~5.8.3\"\n },\n \"files\": [\n \"README.md\",\n \"LICENSE\",\n \"package.json\",\n \"lib\",\n \"src\"\n ]\n}",
11637
11637
  "node_modules/@nestia/core/src/typings/get-function-location.d.ts": "declare module \"get-function-location\" {\n export default function (func: any): Promise<{\n source: string;\n line: number;\n column: number;\n }>;\n}\n",
11638
- "node_modules/@nestia/e2e/lib/ArrayUtil.d.ts": "/**\n * Utility functions for arrays.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace ArrayUtil {\n const asyncFilter: <Input>(elements: readonly Input[]) => (pred: (elem: Input, index: number, array: readonly Input[]) => Promise<boolean>) => Promise<Input[]>;\n const asyncForEach: <Input>(elements: readonly Input[]) => (closure: (elem: Input, index: number, array: readonly Input[]) => Promise<any>) => Promise<void>;\n const asyncMap: <Input>(elements: readonly Input[]) => <Output>(closure: (elem: Input, index: number, array: readonly Input[]) => Promise<Output>) => Promise<Output[]>;\n const asyncRepeat: (count: number) => <T>(closure: (index: number) => Promise<T>) => Promise<T[]>;\n const has: <T>(elements: readonly T[]) => (pred: (elem: T) => boolean) => boolean;\n const repeat: (count: number) => <T>(closure: (index: number) => T) => T[];\n const flat: <T>(matrix: T[][]) => T[];\n const subsets: <T>(array: T[]) => T[][];\n}\n",
11638
+ "node_modules/@nestia/e2e/lib/ArrayUtil.d.ts": "/**\n * A namespace providing utility functions for array manipulation.\n *\n * This namespace contains utility functions for array operations including\n * asynchronous processing, filtering, mapping, and repetition tasks implemented\n * in functional programming style. All functions are implemented using currying\n * to enhance reusability and composability.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @example\n * ```typescript\n * // Asynchronous filtering example\n * const numbers = [1, 2, 3, 4, 5];\n * const evenNumbers = await ArrayUtil.asyncFilter(numbers)(\n * async (num) => num % 2 === 0\n * );\n * console.log(evenNumbers); // [2, 4]\n * ```;\n */\nexport declare namespace ArrayUtil {\n /**\n * Filters an array by applying an asynchronous predicate function to each\n * element.\n *\n * This function is implemented in curried form, first taking an array and\n * then a predicate function. Elements are processed sequentially, ensuring\n * order is maintained.\n *\n * @example\n * ```typescript\n * const users = [\n * { id: 1, name: 'Alice', active: true },\n * { id: 2, name: 'Bob', active: false },\n * { id: 3, name: 'Charlie', active: true }\n * ];\n *\n * const activeUsers = await ArrayUtil.asyncFilter(users)(\n * async (user) => {\n * // Async validation logic (e.g., API call)\n * await new Promise(resolve => setTimeout(resolve, 100));\n * return user.active;\n * }\n * );\n * console.log(activeUsers); // [{ id: 1, name: 'Alice', active: true }, { id: 3, name: 'Charlie', active: true }]\n * ```;\n *\n * @template Input - The type of elements in the input array\n * @param elements - The readonly array to filter\n * @returns A function that takes a predicate and returns a Promise resolving\n * to the filtered array\n */\n const asyncFilter: <Input>(elements: readonly Input[]) => (pred: (elem: Input, index: number, array: readonly Input[]) => Promise<boolean>) => Promise<Input[]>;\n /**\n * Executes an asynchronous function for each element in an array\n * sequentially.\n *\n * Unlike JavaScript's native forEach, this function processes asynchronous\n * functions sequentially and waits for all operations to complete. It\n * performs sequential processing rather than parallel processing, making it\n * suitable for operations where order matters.\n *\n * @example\n * ```typescript\n * const urls = ['url1', 'url2', 'url3'];\n *\n * await ArrayUtil.asyncForEach(urls)(async (url, index) => {\n * console.log(`Processing ${index}: ${url}`);\n * const data = await fetch(url);\n * await processData(data);\n * console.log(`Completed ${index}: ${url}`);\n * });\n * console.log('All URLs processed sequentially');\n * ```\n *\n * @template Input - The type of elements in the input array\n * @param elements - The readonly array to process\n * @returns A function that takes an async closure and returns a Promise<void>\n */\n const asyncForEach: <Input>(elements: readonly Input[]) => (closure: (elem: Input, index: number, array: readonly Input[]) => Promise<any>) => Promise<void>;\n /**\n * Transforms each element of an array using an asynchronous function to\n * create a new array.\n *\n * Similar to JavaScript's native map but processes asynchronous functions\n * sequentially. Each element's transformation is completed before proceeding\n * to the next element, ensuring order is maintained.\n *\n * @example\n * ```typescript\n * const userIds = [1, 2, 3, 4, 5];\n *\n * const userDetails = await ArrayUtil.asyncMap(userIds)(\n * async (id, index) => {\n * console.log(`Fetching user ${id} (${index + 1}/${userIds.length})`);\n * const response = await fetch(`/api/users/${id}`);\n * return await response.json();\n * }\n * );\n * console.log('All users fetched:', userDetails);\n * ```\n *\n * @template Input - The type of elements in the input array\n * @template Output - The type of elements in the output array\n * @param elements - The readonly array to transform\n * @returns A function that takes a transformation function and returns a\n * Promise resolving to the transformed array\n */\n const asyncMap: <Input>(elements: readonly Input[]) => <Output>(closure: (elem: Input, index: number, array: readonly Input[]) => Promise<Output>) => Promise<Output[]>;\n /**\n * Executes an asynchronous function a specified number of times sequentially.\n *\n * Executes the function with indices from 0 to count-1 incrementally. Each\n * execution is performed sequentially, and all results are collected into an\n * array.\n *\n * @example\n * ```typescript\n * // Generate random data 5 times\n * const randomData = await ArrayUtil.asyncRepeat(5)(async (index) => {\n * await new Promise(resolve => setTimeout(resolve, 100)); // Wait 0.1 seconds\n * return {\n * id: index,\n * value: Math.random(),\n * timestamp: new Date().toISOString()\n * };\n * });\n * console.log('Generated data:', randomData);\n * ```;\n *\n * @param count - The number of times to repeat (non-negative integer)\n * @returns A function that takes an async closure and returns a Promise\n * resolving to an array of results\n */\n const asyncRepeat: (count: number) => <T>(closure: (index: number) => Promise<T>) => Promise<T[]>;\n /**\n * Checks if at least one element in the array satisfies the given condition.\n *\n * Similar to JavaScript's native some() method but implemented in curried\n * form for better compatibility with functional programming style. Returns\n * true immediately when the first element satisfying the condition is found.\n *\n * @example\n * ```typescript\n * const numbers = [1, 3, 5, 7, 8, 9];\n * const products = [\n * { name: 'Apple', price: 100, inStock: true },\n * { name: 'Banana', price: 50, inStock: false },\n * { name: 'Orange', price: 80, inStock: true }\n * ];\n *\n * const hasEvenNumber = ArrayUtil.has(numbers)(num => num % 2 === 0);\n * console.log(hasEvenNumber); // true (8 exists)\n *\n * const hasExpensiveItem = ArrayUtil.has(products)(product => product.price > 90);\n * console.log(hasExpensiveItem); // true (Apple costs 100)\n *\n * const hasOutOfStock = ArrayUtil.has(products)(product => !product.inStock);\n * console.log(hasOutOfStock); // true (Banana is out of stock)\n * ```;\n *\n * @template T - The type of elements in the array\n * @param elements - The readonly array to check\n * @returns A function that takes a predicate and returns a boolean\n */\n const has: <T>(elements: readonly T[]) => (pred: (elem: T) => boolean) => boolean;\n /**\n * Executes a function a specified number of times and collects the results\n * into an array.\n *\n * A synchronous repetition function that executes the given function for each\n * index (from 0 to count-1) and collects the results into an array.\n *\n * @example\n * ```typescript\n * // Generate an array of squares from 1 to 5\n * const squares = ArrayUtil.repeat(5)(index => (index + 1) ** 2);\n * console.log(squares); // [1, 4, 9, 16, 25]\n *\n * // Generate an array of default user objects\n * const users = ArrayUtil.repeat(3)(index => ({\n * id: index + 1,\n * name: `User${index + 1}`,\n * email: `user${index + 1}@example.com`\n * }));\n * console.log(users);\n * // [\n * // { id: 1, name: 'User1', email: 'user1@example.com' },\n * // { id: 2, name: 'User2', email: 'user2@example.com' },\n * // { id: 3, name: 'User3', email: 'user3@example.com' }\n * // ]\n * ```\n *\n * @param count - The number of times to repeat (non-negative integer)\n * @returns A function that takes a closure and returns an array of results\n */\n const repeat: (count: number) => <T>(closure: (index: number) => T) => T[];\n /**\n * Generates all possible subsets of a given array.\n *\n * Implements the mathematical concept of power set, generating 2^n subsets\n * from an array of n elements. Uses depth-first search (DFS) algorithm to\n * calculate all possible combinations of including or excluding each\n * element.\n *\n * @example\n * ```typescript\n * const numbers = [1, 2, 3];\n * const allSubsets = ArrayUtil.subsets(numbers);\n * console.log(allSubsets);\n * // [\n * // [], // empty set\n * // [3], // {3}\n * // [2], // {2}\n * // [2, 3], // {2, 3}\n * // [1], // {1}\n * // [1, 3], // {1, 3}\n * // [1, 2], // {1, 2}\n * // [1, 2, 3] // {1, 2, 3}\n * // ]\n *\n * const colors = ['red', 'blue'];\n * const colorSubsets = ArrayUtil.subsets(colors);\n * console.log(colorSubsets);\n * // [\n * // [],\n * // ['blue'],\n * // ['red'],\n * // ['red', 'blue']\n * // ]\n *\n * // Warning: Result size grows exponentially with array size\n * // Example: 10 elements → 1,024 subsets, 20 elements → 1,048,576 subsets\n * ```;\n *\n * @template T - The type of elements in the array\n * @param array - The array to generate subsets from\n * @returns An array containing all possible subsets\n */\n const subsets: <T>(array: T[]) => T[][];\n}\n",
11639
11639
  "node_modules/@nestia/e2e/lib/DynamicExecutor.d.ts": "/**\n * Dynamic Executor running prefixed functions.\n *\n * `DynamicExecutor` runs every (or some filtered) prefixed functions\n * in a specific directory.\n *\n * For reference, it's useful for test program development of a backend server.\n * Just write test functions under a directory, and just specify it.\n * Furthermore, if you compose e2e test programs to utilize the `@nestia/sdk`\n * generated API functions, you can take advantage of {@link DynamicBenchmarker}\n * at the same time.\n *\n * When you want to see some utilization cases, see the below example links.\n *\n * @example https://github.com/samchon/nestia-start/blob/master/test/index.ts\n * @example https://github.com/samchon/backend/blob/master/test/index.ts\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace DynamicExecutor {\n /**\n * Function type of a prefixed.\n *\n * @template Arguments Type of parameters\n * @template Ret Type of return value\n */\n interface Closure<Arguments extends any[], Ret = any> {\n (...args: Arguments): Promise<Ret>;\n }\n /**\n * Options for dynamic executor.\n */\n interface IProps<Parameters extends any[], Ret = any> {\n /**\n * Prefix of function name.\n *\n * Every prefixed function will be executed.\n *\n * In other words, if a function name doesn't start with the prefix, then it would never be executed.\n */\n prefix: string;\n /**\n * Location of the test functions.\n */\n location: string;\n /**\n * Get parameters of a function.\n *\n * @param name Function name\n * @returns Parameters\n */\n parameters: (name: string) => Parameters;\n /**\n * On complete function.\n *\n * Listener of completion of a test function.\n *\n * @param exec Execution result of a test function\n */\n onComplete?: (exec: IExecution) => void;\n /**\n * Filter function whether to run or not.\n *\n * @param name Function name\n * @returns Whether to run or not\n */\n filter?: (name: string) => boolean;\n /**\n * Wrapper of test function.\n *\n * If you specify this `wrapper` property, every dynamic functions\n * loaded and called by this `DynamicExecutor` would be wrapped by\n * the `wrapper` function.\n *\n * @param name Function name\n * @param closure Function to be executed\n * @param parameters Parameters, result of options.parameters function.\n * @returns Wrapper function\n */\n wrapper?: (name: string, closure: Closure<Parameters, Ret>, parameters: Parameters) => Promise<any>;\n /**\n * Number of simultaneous requests.\n *\n * The number of requests to be executed simultaneously.\n *\n * If you configure a value greater than one, the dynamic executor will\n * process the functions concurrently with the given capacity value.\n *\n * @default 1\n */\n simultaneous?: number;\n /**\n * Extension of dynamic functions.\n *\n * @default js\n */\n extension?: string;\n }\n /**\n * Report, result of dynamic execution.\n */\n interface IReport {\n /**\n * Location path of dynamic functions.\n */\n location: string;\n /**\n * Execution results of dynamic functions.\n */\n executions: IExecution[];\n /**\n * Total elapsed time.\n */\n time: number;\n }\n /**\n * Execution of a test function.\n */\n interface IExecution {\n /**\n * Name of function.\n */\n name: string;\n /**\n * Location path of the function.\n */\n location: string;\n /**\n * Returned value from the function.\n */\n value: unknown;\n /**\n * Error when occurred.\n */\n error: Error | null;\n /**\n * Elapsed time.\n */\n started_at: string;\n /**\n * Completion time.\n */\n completed_at: string;\n }\n /**\n * Prepare dynamic executor in strict mode.\n *\n * In strict mode, if any error occurs, the program will be terminated directly.\n * Otherwise, {@link validate} mode does not terminate when error occurs, but\n * just archive the error log.\n *\n * @param props Properties of dynamic execution\n * @returns Report of dynamic test functions execution\n */\n const assert: <Arguments extends any[]>(props: IProps<Arguments>) => Promise<IReport>;\n /**\n * Prepare dynamic executor in loose mode.\n *\n * In loose mode, the program would not be terminated even when error occurs.\n * Instead, the error would be archived and returns as a list. Otherwise,\n * {@link assert} mode terminates the program directly when error occurs.\n *\n * @param props Properties of dynamic executor\n * @returns Report of dynamic test functions execution\n */\n const validate: <Arguments extends any[]>(props: IProps<Arguments>) => Promise<IReport>;\n}\n",
11640
- "node_modules/@nestia/e2e/lib/GaffComparator.d.ts": "/**\n * Gaff comparator.\n *\n * `GaffComparator` is a set of comparator functions for `Array.sort()` function,\n * which can be used with {@link TestValidator.sort} function. If you want to see\n * how to use them, see the below example link.\n *\n * @example https://github.com/samchon/nestia-template/blob/master/src/test/features/api/bbs/test_api_bbs_article_index_sort.ts\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace GaffComparator {\n /**\n * String(s) comparator.\n *\n * @param getter Getter of string(s) from input\n * @returns Comparator function\n */\n const strings: <T>(getter: (input: T) => string | string[]) => (x: T, y: T) => number;\n /**\n * Date(s) comparator.\n *\n * @param getter Getter of date(s) from input\n * @returns Comparator function\n */\n const dates: <T>(getter: (input: T) => string | string[]) => (x: T, y: T) => number;\n /**\n * Number(s) comparator.\n *\n * @param closure Getter of number(s) from input\n * @returns Comparator function\n */\n const numbers: <T>(closure: (input: T) => number | number[]) => (x: T, y: T) => number;\n}\n",
11641
- "node_modules/@nestia/e2e/lib/RandomGenerator.d.ts": "/**\n * Random data generator.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace RandomGenerator {\n /**\n * Generate random alphabets\n *\n * @param length Length of alphabets\n * @returns Generated alphabets\n */\n const alphabets: (length: number) => string;\n /**\n * Generate random alpha-numeric characters.\n *\n * Generate random string constructed with only alphabets and numbers.\n *\n * @param length Length of characters\n * @returns Generated string\n */\n const alphaNumeric: (length: number) => string;\n /**\n * Generate random name.\n *\n * @param length Length of paragraph, default is 2 or 3\n * @returns Generated name\n */\n const name: (length?: number) => string;\n /**\n * Generate random paragraph.\n *\n * @param sentences Number of sentences\n * @returns Paragraph generator\n */\n const paragraph: (sentences?: number) => (wordMin?: number, wordMax?: number) => string;\n /**\n * Generate random content.\n *\n * @param paragraphs Number of paragraphs\n * @returns Currying function\n */\n const content: (paragraphs?: number) => (sentenceMin?: number, sentenceMax?: number) => (wordMin?: number, wordMax?: number) => string;\n /**\n * Generate random substring.\n *\n * @param content Target content\n * @returns Random substring\n */\n const substring: (content: string) => string;\n /**\n * Generate random mobile number.\n *\n * @param prefix Prefix string, default is \"010\"\n * @returns Random mobile number\n * @example 0103340067\n */\n const mobile: (prefix?: string) => string;\n /**\n * Generate random date.\n *\n * @param from Start date\n * @param range Range of random milliseconds\n * @returns Random date\n */\n const date: (from: Date) => (range: number) => Date;\n /**\n * Pick random elements from an array.\n *\n * @param array Target array\n * @param count Number of count to pick\n * @returns Sampled array\n */\n const sample: <T>(array: T[]) => (count: number) => T[];\n /**\n * Pick random element from an array.\n *\n * @param array Target array\n * @returns picked element\n */\n const pick: <T>(array: T[]) => T;\n}\n",
11642
- "node_modules/@nestia/e2e/lib/TestValidator.d.ts": "/**\n * Test validator.\n *\n * `TestValidator` is a collection gathering E2E validation functions.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace TestValidator {\n /**\n * Test whether condition is satisfied.\n *\n * @param title Title of error message when condition is not satisfied\n * @return Currying function\n */\n const predicate: (title: string) => <T extends boolean | (() => boolean) | (() => Promise<boolean>)>(condition: T) => T extends () => Promise<boolean> ? Promise<void> : void;\n /**\n * Test whether two values are equal.\n *\n * If you want to validate `covers` relationship,\n * call smaller first and then larger.\n *\n * Otherwise you wanna non equals validator, combine with {@link error}.\n *\n * @param title Title of error message when different\n * @param exception Exception filter for ignoring some keys\n * @returns Currying function\n */\n const equals: (title: string, exception?: (key: string) => boolean) => <T>(x: T) => (y: T) => void;\n /**\n * Test whether error occurs.\n *\n * If error occurs, nothing would be happened.\n *\n * However, no error exists, then exception would be thrown.\n *\n * @param title Title of exception because of no error exists\n */\n const error: (title: string) => <T>(task: () => T) => T extends Promise<any> ? Promise<void> : void;\n const httpError: (title: string) => (...statuses: number[]) => <T>(task: () => T) => T extends Promise<any> ? Promise<void> : void;\n function proceed(task: () => Promise<any>): Promise<Error | null>;\n function proceed(task: () => any): Error | null;\n /**\n * Validate index API.\n *\n * Test whether two indexed values are equal.\n *\n * If two values are different, then exception would be thrown.\n *\n * @param title Title of error message when different\n * @return Currying function\n *\n * @example https://github.com/samchon/nestia-template/blob/master/src/test/features/api/bbs/test_api_bbs_article_index_search.ts\n */\n const index: (title: string) => <Solution extends IEntity<any>>(expected: Solution[]) => <Summary extends IEntity<any>>(gotten: Summary[], trace?: boolean) => void;\n /**\n * Valiate search options.\n *\n * Test a pagination API supporting search options.\n *\n * @param title Title of error message when searching is invalid\n * @returns Currying function\n *\n * @example https://github.com/samchon/nestia-template/blob/master/src/test/features/api/bbs/test_api_bbs_article_index_search.ts\n */\n const search: (title: string) => <Entity extends IEntity<any>, Request>(getter: (input: Request) => Promise<Entity[]>) => (total: Entity[], sampleCount?: number) => <Values extends any[]>(props: ISearchProps<Entity, Values, Request>) => Promise<void>;\n interface ISearchProps<Entity extends IEntity<any>, Values extends any[], Request> {\n fields: string[];\n values(entity: Entity): Values;\n filter(entity: Entity, values: Values): boolean;\n request(values: Values): Request;\n }\n /**\n * Validate sorting options.\n *\n * Test a pagination API supporting sorting options.\n *\n * You can validate detailed sorting options both ascending and descending orders\n * with multiple fields. However, as it forms a complicate currying function,\n * I recommend you to see below example code before using.\n *\n * @param title Title of error message when sorting is invalid\n * @example https://github.com/samchon/nestia-template/blob/master/src/test/features/api/bbs/test_api_bbs_article_index_sort.ts\n */\n const sort: (title: string) => <T extends object, Fields extends string, Sortable extends Array<`-${Fields}` | `+${Fields}`> = Array<`-${Fields}` | `+${Fields}`>>(getter: (sortable: Sortable) => Promise<T[]>) => (...fields: Fields[]) => (comp: (x: T, y: T) => number, filter?: (elem: T) => boolean) => (direction: \"+\" | \"-\", trace?: boolean) => Promise<void>;\n type Sortable<Literal extends string> = Array<`-${Literal}` | `+${Literal}`>;\n}\ninterface IEntity<Type extends string | number | bigint> {\n id: Type;\n}\nexport {};\n",
11640
+ "node_modules/@nestia/e2e/lib/GaffComparator.d.ts": "/**\n * Type-safe comparator functions for Array.sort() operations with advanced\n * field access.\n *\n * GaffComparator provides a collection of specialized comparator functions\n * designed to work seamlessly with Array.sort() and testing frameworks like\n * TestValidator.sort(). Each comparator supports both single values and arrays\n * of values, enabling complex multi-field sorting scenarios with lexicographic\n * ordering.\n *\n * Key features:\n *\n * - Generic type safety for any object structure\n * - Support for single values or arrays of values per field\n * - Lexicographic comparison for multi-value scenarios\n * - Locale-aware string comparison\n * - Automatic type conversion for dates and numbers\n *\n * The comparators follow the standard JavaScript sort contract:\n *\n * - Return < 0 if first element should come before second\n * - Return > 0 if first element should come after second\n * - Return 0 if elements are equal\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @example\n * ```typescript\n * // Basic usage with single fields\n * users.sort(GaffComparator.strings(user => user.name));\n * posts.sort(GaffComparator.dates(post => post.createdAt));\n * products.sort(GaffComparator.numbers(product => product.price));\n *\n * // Multi-field sorting with arrays\n * users.sort(GaffComparator.strings(user => [user.lastName, user.firstName]));\n * events.sort(GaffComparator.dates(event => [event.startDate, event.endDate]));\n *\n * // Integration with TestValidator\n * await TestValidator.sort(\"user sorting\")(\n * (sortable) => api.getUsers({ sort: sortable })\n * )(\"name\", \"email\")(\n * GaffComparator.strings(user => [user.name, user.email])\n * )(\"+\");\n * ```;\n */\nexport declare namespace GaffComparator {\n /**\n * Creates a comparator function for string-based sorting with locale-aware\n * comparison.\n *\n * Generates a comparator that extracts string values from objects and\n * performs lexicographic comparison using locale-sensitive string comparison.\n * Supports both single strings and arrays of strings for multi-field sorting\n * scenarios.\n *\n * When comparing arrays, performs lexicographic ordering: compares the first\n * elements, then the second elements if the first are equal, and so on. This\n * enables complex sorting like \"sort by last name, then by first name\".\n *\n * @example\n * ```typescript\n * interface User {\n * id: string;\n * firstName: string;\n * lastName: string;\n * email: string;\n * status: 'active' | 'inactive';\n * }\n *\n * const users: User[] = [\n * { id: '1', firstName: 'John', lastName: 'Doe', email: 'john@example.com', status: 'active' },\n * { id: '2', firstName: 'Jane', lastName: 'Doe', email: 'jane@example.com', status: 'inactive' },\n * { id: '3', firstName: 'Bob', lastName: 'Smith', email: 'bob@example.com', status: 'active' }\n * ];\n *\n * // Single field sorting\n * users.sort(GaffComparator.strings(user => user.lastName));\n * // Result: Doe, Doe, Smith\n *\n * // Multi-field sorting: last name, then first name\n * users.sort(GaffComparator.strings(user => [user.lastName, user.firstName]));\n * // Result: Doe Jane, Doe John, Smith Bob\n *\n * // Status-based sorting\n * users.sort(GaffComparator.strings(user => user.status));\n * // Result: active users first, then inactive\n *\n * // Complex multi-field: status, then last name, then first name\n * users.sort(GaffComparator.strings(user => [user.status, user.lastName, user.firstName]));\n *\n * // Integration with API sorting validation\n * await TestValidator.sort(\"user name sorting\")(\n * (sortFields) => userApi.getUsers({ sort: sortFields })\n * )(\"lastName\", \"firstName\")(\n * GaffComparator.strings(user => [user.lastName, user.firstName])\n * )(\"+\");\n * ```;\n *\n * @template T - The type of objects being compared\n * @param getter - Function that extracts string value(s) from input objects\n * @returns A comparator function suitable for Array.sort()\n */\n const strings: <T>(getter: (input: T) => string | string[]) => (x: T, y: T) => number;\n /**\n * Creates a comparator function for date-based sorting with automatic string\n * parsing.\n *\n * Generates a comparator that extracts date values from objects,\n * automatically converting string representations to Date objects for\n * numerical comparison. Supports both single dates and arrays of dates for\n * complex temporal sorting.\n *\n * Date strings are parsed using the standard Date constructor, which supports\n * ISO 8601 format, RFC 2822 format, and other common date representations.\n * The comparison is performed on millisecond timestamps for precise\n * ordering.\n *\n * @example\n * ```typescript\n * interface Event {\n * id: string;\n * title: string;\n * startDate: string;\n * endDate: string;\n * createdAt: string;\n * updatedAt: string;\n * }\n *\n * const events: Event[] = [\n * {\n * id: '1',\n * title: 'Conference',\n * startDate: '2024-03-15T09:00:00Z',\n * endDate: '2024-03-15T17:00:00Z',\n * createdAt: '2024-01-10T10:00:00Z',\n * updatedAt: '2024-02-01T15:30:00Z'\n * },\n * {\n * id: '2',\n * title: 'Workshop',\n * startDate: '2024-03-10T14:00:00Z',\n * endDate: '2024-03-10T16:00:00Z',\n * createdAt: '2024-01-15T11:00:00Z',\n * updatedAt: '2024-01-20T09:15:00Z'\n * }\n * ];\n *\n * // Sort by start date (chronological order)\n * events.sort(GaffComparator.dates(event => event.startDate));\n *\n * // Sort by creation date (oldest first)\n * events.sort(GaffComparator.dates(event => event.createdAt));\n *\n * // Multi-field: start date, then end date\n * events.sort(GaffComparator.dates(event => [event.startDate, event.endDate]));\n *\n * // Sort by modification history: created date, then updated date\n * events.sort(GaffComparator.dates(event => [event.createdAt, event.updatedAt]));\n *\n * // Validate API date sorting\n * await TestValidator.sort(\"event chronological sorting\")(\n * (sortFields) => eventApi.getEvents({ sort: sortFields })\n * )(\"startDate\")(\n * GaffComparator.dates(event => event.startDate)\n * )(\"+\");\n *\n * // Test complex date-based sorting\n * const sortByEventSchedule = GaffComparator.dates(event => [\n * event.startDate,\n * event.endDate\n * ]);\n * ```;\n *\n * @template T - The type of objects being compared\n * @param getter - Function that extracts date string(s) from input objects\n * @returns A comparator function suitable for Array.sort()\n */\n const dates: <T>(getter: (input: T) => string | string[]) => (x: T, y: T) => number;\n /**\n * Creates a comparator function for numerical sorting with multi-value\n * support.\n *\n * Generates a comparator that extracts numerical values from objects and\n * performs mathematical comparison. Supports both single numbers and arrays\n * of numbers for complex numerical sorting scenarios like sorting by price\n * then by rating.\n *\n * When comparing arrays, performs lexicographic numerical ordering: compares\n * the first numbers, then the second numbers if the first are equal, and so\n * on. This enables sophisticated sorting like \"sort by price ascending, then\n * by rating descending\".\n *\n * @example\n * ```typescript\n * interface Product {\n * id: string;\n * name: string;\n * price: number;\n * rating: number;\n * stock: number;\n * categoryId: number;\n * salesCount: number;\n * }\n *\n * const products: Product[] = [\n * { id: '1', name: 'Laptop', price: 999.99, rating: 4.5, stock: 15, categoryId: 1, salesCount: 150 },\n * { id: '2', name: 'Mouse', price: 29.99, rating: 4.2, stock: 50, categoryId: 1, salesCount: 300 },\n * { id: '3', name: 'Keyboard', price: 79.99, rating: 4.8, stock: 25, categoryId: 1, salesCount: 200 }\n * ];\n *\n * // Sort by price (ascending)\n * products.sort(GaffComparator.numbers(product => product.price));\n * // Result: Mouse ($29.99), Keyboard ($79.99), Laptop ($999.99)\n *\n * // Sort by rating (descending requires negation)\n * products.sort(GaffComparator.numbers(product => -product.rating));\n * // Result: Keyboard (4.8), Laptop (4.5), Mouse (4.2)\n *\n * // Multi-field: category, then price\n * products.sort(GaffComparator.numbers(product => [product.categoryId, product.price]));\n *\n * // Complex business logic: popularity (sales) then rating\n * products.sort(GaffComparator.numbers(product => [-product.salesCount, -product.rating]));\n * // Negative values for descending order\n *\n * // Sort by inventory priority: low stock first, then by sales\n * products.sort(GaffComparator.numbers(product => [product.stock, -product.salesCount]));\n *\n * // Validate API numerical sorting\n * await TestValidator.sort(\"product price sorting\")(\n * (sortFields) => productApi.getProducts({ sort: sortFields })\n * )(\"price\")(\n * GaffComparator.numbers(product => product.price)\n * )(\"+\");\n *\n * // Test multi-criteria sorting\n * const sortByBusinessValue = GaffComparator.numbers(product => [\n * -product.salesCount, // High sales first\n * -product.rating, // High rating first\n * product.price // Low price first (for tie-breaking)\n * ]);\n * ```;\n *\n * @template T - The type of objects being compared\n * @param closure - Function that extracts number value(s) from input objects\n * @returns A comparator function suitable for Array.sort()\n */\n const numbers: <T>(closure: (input: T) => number | number[]) => (x: T, y: T) => number;\n}\n",
11641
+ "node_modules/@nestia/e2e/lib/RandomGenerator.d.ts": "/**\n * Comprehensive random data generation utilities for testing and development.\n *\n * RandomGenerator provides a collection of functions for generating random data\n * including strings, names, content, dates, and array sampling. All functions\n * are designed to be deterministic within a single execution but produce varied\n * output across different runs, making them ideal for testing scenarios.\n *\n * The namespace includes specialized generators for:\n *\n * - Text content (alphabets, alphanumeric, names, paragraphs)\n * - Phone numbers and contact information\n * - Date ranges and time-based data\n * - Array sampling and element selection\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @example\n * ```typescript\n * // Generate test user data\n * const testUser = {\n * id: RandomGenerator.alphaNumeric(8),\n * name: RandomGenerator.name(),\n * bio: RandomGenerator.paragraph(3)(5, 10),\n * phone: RandomGenerator.mobile(),\n * createdAt: RandomGenerator.date(new Date())(1000 * 60 * 60 * 24 * 30) // 30 days\n * };\n *\n * // Sample data for testing\n * const testSample = RandomGenerator.sample(allUsers)(5);\n * ```;\n */\nexport declare namespace RandomGenerator {\n /**\n * Generates a random string containing only lowercase alphabetical\n * characters.\n *\n * Creates a string of specified length using only characters a-z. Each\n * character is independently randomly selected, so the same character may\n * appear multiple times. Useful for generating random identifiers, test\n * names, or placeholder text.\n *\n * @example\n * ```typescript\n * RandomGenerator.alphabets(5); // \"hello\"\n * RandomGenerator.alphabets(3); // \"abc\"\n * RandomGenerator.alphabets(10); // \"randomtext\"\n *\n * // Generate random CSS class names\n * const className = `test-${RandomGenerator.alphabets(6)}`;\n *\n * // Create random variable names for testing\n * const varName = RandomGenerator.alphabets(8);\n * ```\n *\n * @param length - The desired length of the generated alphabetic string\n * @returns A string containing only lowercase letters of the specified length\n */\n const alphabets: (length: number) => string;\n /**\n * Generates a random alphanumeric string containing digits and lowercase\n * letters.\n *\n * Creates a string of specified length using characters from 0-9 and a-z.\n * Each position is independently randomly selected from the combined\n * character set. Ideal for generating random IDs, tokens, passwords, or\n * unique identifiers that need both numeric and alphabetic characters.\n *\n * @example\n * ```typescript\n * RandomGenerator.alphaNumeric(8); // \"a1b2c3d4\"\n * RandomGenerator.alphaNumeric(12); // \"x9y8z7w6v5u4\"\n *\n * // Generate random API keys\n * const apiKey = RandomGenerator.alphaNumeric(32);\n *\n * // Create session tokens\n * const sessionId = `sess_${RandomGenerator.alphaNumeric(16)}`;\n *\n * // Generate test database IDs\n * const testId = RandomGenerator.alphaNumeric(10);\n * ```\n *\n * @param length - The desired length of the generated alphanumeric string\n * @returns A string containing digits and lowercase letters of the specified\n * length\n */\n const alphaNumeric: (length: number) => string;\n /**\n * Generates a random name-like string with realistic length variation.\n *\n * Creates a name by generating a paragraph with 2-3 words (randomly chosen).\n * The resulting string resembles typical human names in structure and length.\n * Each word is between 3-7 characters by default, creating realistic-looking\n * names.\n *\n * @example\n * ```typescript\n * RandomGenerator.name(); // \"john doe\"\n * RandomGenerator.name(1); // \"alice\"\n * RandomGenerator.name(3); // \"jane mary smith\"\n *\n * // Generate test user names\n * const users = Array.from({ length: 10 }, () => ({\n * id: RandomGenerator.alphaNumeric(8),\n * name: RandomGenerator.name(),\n * email: `${RandomGenerator.name(1)}@test.com`\n * }));\n *\n * // Create random author names for blog posts\n * const authorName = RandomGenerator.name();\n * ```\n *\n * @param length - Number of words in the name (default: random between 2-3)\n * @returns A space-separated string resembling a human name\n */\n const name: (length?: number) => string;\n /**\n * Generates a random paragraph with configurable sentence structure.\n *\n * Creates a paragraph consisting of a specified number of \"sentences\"\n * (words). Each sentence is a random alphabetic string, and sentences are\n * joined with spaces. Returns a currying function to allow configuration of\n * word length ranges.\n *\n * @example\n * ```typescript\n * // Generate with default word lengths (3-7 characters)\n * RandomGenerator.paragraph(3)(); // \"hello world test\"\n * RandomGenerator.paragraph(5)(); // \"lorem ipsum dolor sit amet\"\n *\n * // Custom word length ranges\n * RandomGenerator.paragraph(4)(2, 5); // \"ab cd ef gh\"\n * RandomGenerator.paragraph(6)(8, 12); // \"verylongword anotherlongword...\"\n *\n * // Generate product descriptions\n * const description = RandomGenerator.paragraph(8)(4, 8);\n *\n * // Create test content for forms\n * const placeholder = RandomGenerator.paragraph(3)(5, 10);\n *\n * // Generate variable-length test data\n * const testTexts = Array.from({ length: 5 }, (_, i) =>\n * RandomGenerator.paragraph(i + 2)(3, 6)\n * );\n * ```;\n *\n * @param sentences - Number of sentences (words) in the paragraph (default:\n * random 2-5)\n * @returns A currying function that accepts word length parameters\n */\n const paragraph: (sentences?: number) => (wordMin?: number, wordMax?: number) => string;\n /**\n * Generates random multi-paragraph content with customizable structure.\n *\n * Creates content consisting of multiple paragraphs separated by double\n * newlines. Uses a triple-currying pattern to allow fine-grained control over\n * content structure: paragraphs count → sentences per paragraph → word\n * character lengths. Ideal for generating realistic-looking text content for\n * testing.\n *\n * @example\n * ```typescript\n * // Generate with all defaults\n * const article = RandomGenerator.content()()();\n *\n * // Specific structure: 5 paragraphs, 15-25 sentences each, 4-8 char words\n * const longContent = RandomGenerator.content(5)(15, 25)(4, 8);\n *\n * // Short content with brief sentences\n * const shortContent = RandomGenerator.content(2)(5, 8)(2, 4);\n *\n * // Generate blog post content\n * const blogPost = {\n * title: RandomGenerator.name(3),\n * content: RandomGenerator.content(4)(10, 20)(3, 7),\n * summary: RandomGenerator.paragraph(2)(5, 10)\n * };\n *\n * // Create test data for CMS\n * const pages = Array.from({ length: 10 }, () => ({\n * id: RandomGenerator.alphaNumeric(8),\n * content: RandomGenerator.content(randint(2, 6))(8, 15)(4, 9)\n * }));\n *\n * // Generate email content for testing\n * const emailBody = RandomGenerator.content(3)(5, 12)(3, 8);\n * ```;\n *\n * @param paragraphs - Number of paragraphs to generate (default: random 3-8)\n * @returns A currying function that accepts sentence count parameters\n */\n const content: (paragraphs?: number) => (sentenceMin?: number, sentenceMax?: number) => (wordMin?: number, wordMax?: number) => string;\n /**\n * Extracts a random substring from the provided content string.\n *\n * Selects two random positions within the content and returns the substring\n * between them. The starting position is always before the ending position.\n * Automatically trims whitespace from the beginning and end of the result.\n * Useful for creating excerpts, search terms, or partial content samples.\n *\n * @example\n * ```typescript\n * const text = \"The quick brown fox jumps over the lazy dog\";\n *\n * RandomGenerator.substring(text); // \"quick brown fox\"\n * RandomGenerator.substring(text); // \"jumps over\"\n * RandomGenerator.substring(text); // \"fox jumps over the lazy\"\n *\n * // Generate search terms from content\n * const searchQuery = RandomGenerator.substring(articleContent);\n *\n * // Create excerpts for previews\n * const excerpt = RandomGenerator.substring(fullBlogPost);\n *\n * // Generate partial matches for testing search functionality\n * const partialMatch = RandomGenerator.substring(productDescription);\n *\n * // Create random selections for highlight testing\n * const selectedText = RandomGenerator.substring(documentContent);\n * ```;\n *\n * @param content - The source string to extract a substring from\n * @returns A trimmed substring of the original content\n */\n const substring: (content: string) => string;\n /**\n * Generates a random mobile phone number with customizable prefix.\n *\n * Creates a mobile phone number in the format: [prefix][3-4 digits][4\n * digits]. The middle section is 3 digits if the random number is less than\n * 1000, otherwise 4 digits. The last section is always 4 digits, zero-padded\n * if necessary. Commonly used for generating Korean mobile phone numbers or\n * similar formats.\n *\n * @example\n * ```typescript\n * RandomGenerator.mobile(); // \"0103341234\"\n * RandomGenerator.mobile(\"011\"); // \"0119876543\"\n * RandomGenerator.mobile(\"+82\"); // \"+8233412345\"\n *\n * // Generate test user phone numbers\n * const testUsers = Array.from({ length: 100 }, () => ({\n * name: RandomGenerator.name(),\n * phone: RandomGenerator.mobile(),\n * altPhone: RandomGenerator.mobile(\"011\")\n * }));\n *\n * // Create international phone numbers\n * const internationalPhone = RandomGenerator.mobile(\"+821\");\n *\n * // Generate contact list for testing\n * const contacts = [\"010\", \"011\", \"016\", \"017\", \"018\", \"019\"].map(prefix => ({\n * carrier: prefix,\n * number: RandomGenerator.mobile(prefix)\n * }));\n * ```;\n *\n * @param prefix - The prefix string for the phone number (default: \"010\")\n * @returns A formatted mobile phone number string\n */\n const mobile: (prefix?: string) => string;\n /**\n * Generates a random date within a specified range from a starting point.\n *\n * Creates a currying function that accepts a range in milliseconds and\n * returns a random date between the start date and start date + range. The\n * range represents the maximum number of milliseconds to add to the starting\n * date. Useful for generating timestamps, creation dates, or scheduling test\n * data.\n *\n * @example\n * ```typescript\n * const now = new Date();\n * const oneDay = 24 * 60 * 60 * 1000;\n * const oneMonth = 30 * oneDay;\n *\n * // Random date within the next 30 days\n * const futureDate = RandomGenerator.date(now)(oneMonth);\n *\n * // Random date within the past week\n * const pastWeek = new Date(now.getTime() - 7 * oneDay);\n * const recentDate = RandomGenerator.date(pastWeek)(7 * oneDay);\n *\n * // Generate random creation dates for test data\n * const startOfYear = new Date(2024, 0, 1);\n * const endOfYear = new Date(2024, 11, 31).getTime() - startOfYear.getTime();\n * const randomCreationDate = RandomGenerator.date(startOfYear)(endOfYear);\n *\n * // Create test events with random timestamps\n * const events = Array.from({ length: 50 }, () => ({\n * id: RandomGenerator.alphaNumeric(8),\n * title: RandomGenerator.name(2),\n * createdAt: RandomGenerator.date(new Date())(oneMonth),\n * scheduledFor: RandomGenerator.date(new Date())(oneMonth * 3)\n * }));\n * ```;\n *\n * @param from - The starting date for the random range\n * @returns A currying function that accepts a range in milliseconds\n */\n const date: (from: Date) => (range: number) => Date;\n /**\n * Randomly samples a specified number of unique elements from an array.\n *\n * Selects random elements from the input array without replacement, ensuring\n * all returned elements are unique. The sample size is automatically capped\n * at the array length to prevent errors. Uses a Set-based approach to\n * guarantee uniqueness of selected indices. Ideal for creating test datasets\n * or selecting random subsets for validation.\n *\n * @example\n * ```typescript\n * const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\n *\n * RandomGenerator.sample(numbers)(3); // [2, 7, 9]\n * RandomGenerator.sample(numbers)(5); // [1, 4, 6, 8, 10]\n * RandomGenerator.sample(numbers)(15); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] (capped at array length)\n *\n * // Sample users for testing\n * const allUsers = await getUsersFromDatabase();\n * const testUsers = RandomGenerator.sample(allUsers)(10);\n *\n * // Create random product selections\n * const featuredProducts = RandomGenerator.sample(allProducts)(5);\n *\n * // Generate test data subsets\n * const validationSet = RandomGenerator.sample(trainingData)(100);\n *\n * // Random A/B testing groups\n * const groupA = RandomGenerator.sample(allParticipants)(50);\n * const remaining = allParticipants.filter(p => !groupA.includes(p));\n * const groupB = RandomGenerator.sample(remaining)(50);\n * ```;\n *\n * @param array - The source array to sample from\n * @returns A currying function that accepts the desired sample count\n */\n const sample: <T>(array: T[]) => (count: number) => T[];\n /**\n * Randomly selects a single element from an array.\n *\n * Chooses one element at random from the provided array using uniform\n * distribution. Each element has an equal probability of being selected. This\n * is a convenience function equivalent to sampling with a count of 1, but\n * returns the element directly rather than an array containing one element.\n *\n * @example\n * ```typescript\n * const colors = ['red', 'blue', 'green', 'yellow', 'purple'];\n * const fruits = ['apple', 'banana', 'orange', 'grape', 'kiwi'];\n *\n * RandomGenerator.pick(colors); // \"blue\"\n * RandomGenerator.pick(fruits); // \"apple\"\n *\n * // Select random configuration options\n * const randomTheme = RandomGenerator.pick(['light', 'dark', 'auto']);\n * const randomLocale = RandomGenerator.pick(['en', 'ko', 'ja', 'zh']);\n *\n * // Choose random test scenarios\n * const testScenario = RandomGenerator.pick([\n * 'happy_path',\n * 'edge_case',\n * 'error_condition',\n * 'boundary_test'\n * ]);\n *\n * // Random user role assignment\n * const userRole = RandomGenerator.pick(['admin', 'user', 'moderator']);\n *\n * // Select random API endpoints for testing\n * const endpoints = ['/users', '/posts', '/comments', '/categories'];\n * const randomEndpoint = RandomGenerator.pick(endpoints);\n * ```;\n *\n * @param array - The source array to pick an element from\n * @returns A randomly selected element from the array\n */\n const pick: <T>(array: T[]) => T;\n}\n",
11642
+ "node_modules/@nestia/e2e/lib/TestValidator.d.ts": "/**\n * A comprehensive collection of E2E validation utilities for testing\n * applications.\n *\n * TestValidator provides type-safe validation functions for common testing\n * scenarios including condition checking, equality validation, error testing,\n * HTTP error validation, pagination testing, search functionality validation,\n * and sorting validation.\n *\n * All functions follow a currying pattern to enable reusable test\n * configurations and provide detailed error messages for debugging failed\n * assertions.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @example\n * ```typescript\n * // Basic condition testing\n * TestValidator.predicate(\"user should be authenticated\")(user.isAuthenticated);\n *\n * // Equality validation\n * TestValidator.equals(\"API response should match expected\")(expected)(actual);\n *\n * // Error validation\n * TestValidator.error(\"should throw on invalid input\")(() => validateInput(\"\"));\n * ```;\n */\nexport declare namespace TestValidator {\n /**\n * Validates that a given condition evaluates to true.\n *\n * Supports synchronous boolean values, synchronous functions returning\n * boolean, and asynchronous functions returning Promise<boolean>. The return\n * type is automatically inferred based on the input type.\n *\n * @example\n * ```typescript\n * // Synchronous boolean\n * TestValidator.predicate(\"user should exist\")(user !== null);\n *\n * // Synchronous function\n * TestValidator.predicate(\"array should be empty\")(() => arr.length === 0);\n *\n * // Asynchronous function\n * await TestValidator.predicate(\"database should be connected\")(\n * async () => await db.ping()\n * );\n * ```;\n *\n * @param title - Descriptive title used in error messages when validation\n * fails\n * @returns A currying function that accepts the condition to validate\n * @throws Error with descriptive message when condition is not satisfied\n */\n const predicate: (title: string) => <T extends boolean | (() => boolean) | (() => Promise<boolean>)>(condition: T) => T extends () => Promise<boolean> ? Promise<void> : void;\n /**\n * Validates deep equality between two values using JSON comparison.\n *\n * Performs recursive comparison of objects and arrays. Supports an optional\n * exception filter to ignore specific keys during comparison. Useful for\n * validating API responses, data transformations, and object state changes.\n *\n * **Type Safety Notes:**\n *\n * - The generic type T is inferred from the `actual` parameter (first in the\n * currying chain)\n * - The `expected` parameter must be assignable to `T | null | undefined`\n * - For objects, `expected` must have the same or subset of properties as\n * `actual`\n * - For union types like `string | null`, ensure proper type compatibility:\n *\n * ```typescript\n * const x: string | null;\n * TestValidator.equals(\"works\")(x)(null); // ✅ Works: null is assignable to string | null\n * TestValidator.equals(\"error\")(null)(x); // ❌ Error: x might be string, but expected is null\n * ```\n *\n * @example\n * ```typescript\n * // Basic equality\n * TestValidator.equals(\"response should match expected\")(expectedUser)(actualUser);\n *\n * // Ignore timestamps in comparison\n * TestValidator.equals(\"user data should match\", (key) => key === \"updatedAt\")(\n * expectedUser\n * )(actualUser);\n *\n * // Validate API response structure\n * const validateResponse = TestValidator.equals(\"API response structure\");\n * validateResponse({ id: 1, name: \"John\" })({ id: 1, name: \"John\" });\n *\n * // Type-safe nullable comparisons\n * const nullableData: { name: string } | null = getData();\n * TestValidator.equals(\"nullable check\")(nullableData)(null); // ✅ Safe\n * ```;\n *\n * @param title - Descriptive title used in error messages when values differ\n * @param exception - Optional filter function to exclude specific keys from\n * comparison\n * @returns A currying function chain: first accepts expected value, then\n * actual value\n * @throws Error with detailed diff information when values are not equal\n */\n const equals: (title: string, exception?: (key: string) => boolean) => <T>(actual: T) => (expected: T | null | undefined) => void;\n /**\n * Validates deep inequality between two values using JSON comparison.\n *\n * Performs recursive comparison of objects and arrays to ensure they are NOT\n * equal. Supports an optional exception filter to ignore specific keys during\n * comparison. Useful for validating that data has changed, objects are\n * different, or mutations have occurred.\n *\n * **Type Safety Notes:**\n *\n * - The generic type T is inferred from the `actual` parameter (first in the\n * currying chain)\n * - The `expected` parameter must be assignable to `T | null | undefined`\n * - For objects, `expected` must have the same or subset of properties as\n * `actual`\n * - For union types like `string | null`, ensure proper type compatibility:\n *\n * ```typescript\n * const x: string | null;\n * TestValidator.notEquals(\"works\")(x)(null); // ✅ Works: null is assignable to string | null\n * TestValidator.notEquals(\"error\")(null)(x); // ❌ Error: x might be string, but expected is null\n * ```\n *\n * @example\n * ```typescript\n * // Basic inequality\n * TestValidator.notEquals(\"user should be different after update\")(originalUser)(updatedUser);\n *\n * // Ignore timestamps in comparison\n * TestValidator.notEquals(\"user data should differ\", (key) => key === \"updatedAt\")(\n * originalUser\n * )(modifiedUser);\n *\n * // Validate state changes\n * const validateStateChange = TestValidator.notEquals(\"state should have changed\");\n * validateStateChange(initialState)(currentState);\n *\n * // Type-safe nullable comparisons\n * const mutableData: { count: number } | null = getMutableData();\n * TestValidator.notEquals(\"should have changed\")(mutableData)(null); // ✅ Safe\n * ```;\n *\n * @param title - Descriptive title used in error messages when values are\n * equal\n * @param exception - Optional filter function to exclude specific keys from\n * comparison\n * @returns A currying function chain: first accepts expected value, then\n * actual value\n * @throws Error when values are equal (indicating validation failure)\n */\n const notEquals: (title: string, exception?: (key: string) => boolean) => <T>(actual: T) => (expected: T | null | undefined) => void;\n /**\n * Validates that a function throws an error or rejects when executed.\n *\n * Expects the provided function to fail. If the function executes\n * successfully without throwing an error or rejecting, this validator will\n * throw an exception. Supports both synchronous and asynchronous functions.\n *\n * @example\n * ```typescript\n * // Synchronous error validation\n * TestValidator.error(\"should reject invalid email\")(\n * () => validateEmail(\"invalid-email\")\n * );\n *\n * // Asynchronous error validation\n * await TestValidator.error(\"should reject unauthorized access\")(\n * async () => await api.functional.getSecretData()\n * );\n *\n * // Validate input validation\n * TestValidator.error(\"should throw on empty string\")(\n * () => processRequiredInput(\"\")\n * );\n * ```;\n *\n * @param title - Descriptive title used in error messages when no error\n * occurs\n * @returns A currying function that accepts the task function to validate\n * @throws Error when the task function does not throw an error or reject\n */\n const error: (title: string) => <T>(task: () => T) => T extends Promise<any> ? Promise<void> : void;\n /**\n * Validates that a function throws an HTTP error with specific status codes.\n *\n * Specialized error validator for HTTP operations. Validates that the\n * function throws an HttpError with one of the specified status codes. Useful\n * for testing API endpoints, authentication, and authorization logic.\n *\n * @example\n * ```typescript\n * // Validate 401 Unauthorized\n * await TestValidator.httpError(\"should return 401 for invalid token\")(401)(\n * async () => await api.functional.getProtectedResource(\"invalid-token\")\n * );\n *\n * // Validate multiple possible error codes\n * await TestValidator.httpError(\"should return client error\")(400, 404, 422)(\n * async () => await api.functional.updateNonexistentResource(data)\n * );\n *\n * // Validate server errors\n * TestValidator.httpError(\"should handle server errors\")(500, 502, 503)(\n * () => callFaultyEndpoint()\n * );\n * ```;\n *\n * @param title - Descriptive title used in error messages\n * @returns A currying function that accepts status codes, then the task\n * function\n * @throws Error when function doesn't throw HttpError or status code doesn't\n * match\n */\n const httpError: (title: string) => (...statuses: number[]) => <T>(task: () => T) => T extends Promise<any> ? Promise<void> : void;\n /**\n * Safely executes a function and captures any errors without throwing.\n *\n * Utility function for error handling in tests. Executes the provided\n * function and returns any error that occurs, or null if successful. Supports\n * both synchronous and asynchronous functions. Useful for testing error\n * conditions without stopping test execution.\n *\n * @example\n * ```typescript\n * // Synchronous error capture\n * const error = TestValidator.proceed(() => {\n * throw new Error(\"Something went wrong\");\n * });\n * console.log(error?.message); // \"Something went wrong\"\n *\n * // Asynchronous error capture\n * const asyncError = await TestValidator.proceed(async () => {\n * await failingAsyncOperation();\n * });\n *\n * // Success case\n * const noError = TestValidator.proceed(() => {\n * return \"success\";\n * });\n * console.log(noError); // null\n * ```;\n *\n * @param task - Function to execute safely\n * @returns Error object if function throws/rejects, null if successful\n */\n function proceed(task: () => Promise<any>): Promise<Error | null>;\n function proceed(task: () => any): Error | null;\n /**\n * Validates pagination index API results against expected entity order.\n *\n * Compares the order of entities returned by a pagination API with manually\n * sorted expected results. Validates that entity IDs appear in the correct\n * sequence. Commonly used for testing database queries, search results, and\n * any paginated data APIs.\n *\n * @example\n * ```typescript\n * // Test article pagination\n * const expectedArticles = await db.articles.findAll({ order: 'created_at DESC' });\n * const actualArticles = await api.functional.getArticles({ page: 1, limit: 10 });\n *\n * TestValidator.index(\"article pagination order\")(expectedArticles)(\n * actualArticles,\n * true // enable trace logging\n * );\n *\n * // Test user search results\n * const manuallyFilteredUsers = allUsers.filter(u => u.name.includes(\"John\"));\n * const apiSearchResults = await api.functional.searchUsers({ query: \"John\" });\n *\n * TestValidator.index(\"user search results\")(manuallyFilteredUsers)(\n * apiSearchResults\n * );\n * ```;\n *\n * @param title - Descriptive title used in error messages when order differs\n * @returns A currying function chain: expected entities, then actual entities\n * @throws Error when entity order differs between expected and actual results\n */\n const index: (title: string) => <Solution extends IEntity<any>>(expected: Solution[]) => <Summary extends IEntity<any>>(gotten: Summary[], trace?: boolean) => void;\n /**\n * Validates search functionality by testing API results against manual\n * filtering.\n *\n * Comprehensive search validation that samples entities from a complete\n * dataset, extracts search values, applies manual filtering, calls the search\n * API, and compares results. Validates that search APIs return the correct\n * subset of data matching the search criteria.\n *\n * @example\n * ```typescript\n * // Test article search functionality\n * const allArticles = await db.articles.findAll();\n * const searchValidator = TestValidator.search(\"article search API\")(\n * (req) => api.searchArticles(req)\n * )(allArticles, 5); // test with 5 random samples\n *\n * await searchValidator({\n * fields: [\"title\", \"content\"],\n * values: (article) => [article.title.split(\" \")[0]], // first word\n * filter: (article, [keyword]) =>\n * article.title.includes(keyword) || article.content.includes(keyword),\n * request: ([keyword]) => ({ q: keyword })\n * });\n *\n * // Test user search with multiple criteria\n * await TestValidator.search(\"user search with filters\")(\n * (req) => api.getUsers(req)\n * )(allUsers, 3)({\n * fields: [\"status\", \"role\"],\n * values: (user) => [user.status, user.role],\n * filter: (user, [status, role]) =>\n * user.status === status && user.role === role,\n * request: ([status, role]) => ({ status, role })\n * });\n * ```;\n *\n * @param title - Descriptive title used in error messages when search fails\n * @returns A currying function chain: API getter function, then dataset and\n * sample count\n * @throws Error when API search results don't match manual filtering results\n */\n const search: (title: string) => <Entity extends IEntity<any>, Request>(getter: (input: Request) => Promise<Entity[]>) => (total: Entity[], sampleCount?: number) => <Values extends any[]>(props: ISearchProps<Entity, Values, Request>) => Promise<void>;\n /**\n * Configuration interface for search validation functionality.\n *\n * Defines the structure needed to validate search operations by specifying\n * how to extract search values from entities, filter the dataset manually,\n * and construct API requests.\n *\n * @template Entity - Type of entities being searched, must have an ID field\n * @template Values - Tuple type representing the search values extracted from\n * entities\n * @template Request - Type of the API request object\n */\n interface ISearchProps<Entity extends IEntity<any>, Values extends any[], Request> {\n /** Field names being searched, used in error messages for identification */\n fields: string[];\n /**\n * Extracts search values from a sample entity\n *\n * @param entity - The entity to extract search values from\n * @returns Tuple of values used for searching\n */\n values(entity: Entity): Values;\n /**\n * Manual filter function to determine if an entity matches search criteria\n *\n * @param entity - Entity to test against criteria\n * @param values - Search values to match against\n * @returns True if entity matches the search criteria\n */\n filter(entity: Entity, values: Values): boolean;\n /**\n * Constructs API request object from search values\n *\n * @param values - Search values to include in request\n * @returns Request object for the search API\n */\n request(values: Values): Request;\n }\n /**\n * Validates sorting functionality of pagination APIs.\n *\n * Tests sorting operations by calling the API with sort parameters and\n * validating that results are correctly ordered. Supports multiple fields,\n * ascending/descending order, and optional filtering. Provides detailed error\n * reporting for sorting failures.\n *\n * @example\n * ```typescript\n * // Test single field sorting\n * const sortValidator = TestValidator.sort(\"article sorting\")(\n * (sortable) => api.getArticles({ sort: sortable })\n * )(\"created_at\")(\n * (a, b) => new Date(a.created_at).getTime() - new Date(b.created_at).getTime()\n * );\n *\n * await sortValidator(\"+\"); // ascending\n * await sortValidator(\"-\"); // descending\n *\n * // Test multi-field sorting with filtering\n * const userSortValidator = TestValidator.sort(\"user sorting\")(\n * (sortable) => api.getUsers({ sort: sortable })\n * )(\"status\", \"created_at\")(\n * (a, b) => {\n * if (a.status !== b.status) return a.status.localeCompare(b.status);\n * return new Date(a.created_at).getTime() - new Date(b.created_at).getTime();\n * },\n * (user) => user.isActive // only test active users\n * );\n *\n * await userSortValidator(\"+\", true); // ascending with trace logging\n * ```;\n *\n * @param title - Descriptive title used in error messages when sorting fails\n * @returns A currying function chain: API getter, field names, comparator,\n * then direction\n * @throws Error when API results are not properly sorted according to\n * specification\n */\n const sort: (title: string) => <T extends object, Fields extends string, Sortable extends Array<`-${Fields}` | `+${Fields}`> = Array<`-${Fields}` | `+${Fields}`>>(getter: (sortable: Sortable) => Promise<T[]>) => (...fields: Fields[]) => (comp: (x: T, y: T) => number, filter?: (elem: T) => boolean) => (direction: \"+\" | \"-\", trace?: boolean) => Promise<void>;\n /**\n * Type alias for sortable field specifications.\n *\n * Represents an array of sort field specifications where each field can be\n * prefixed with '+' for ascending order or '-' for descending order.\n *\n * @example\n * ```typescript\n * type UserSortable = TestValidator.Sortable<\"name\" | \"email\" | \"created_at\">;\n * // Results in: Array<\"-name\" | \"+name\" | \"-email\" | \"+email\" | \"-created_at\" | \"+created_at\">\n *\n * const userSort: UserSortable = [\"+name\", \"-created_at\"];\n * ```;\n *\n * @template Literal - String literal type representing available field names\n */\n type Sortable<Literal extends string> = Array<`-${Literal}` | `+${Literal}`>;\n}\ninterface IEntity<Type extends string | number | bigint> {\n id: Type;\n}\nexport {};\n",
11643
11643
  "node_modules/@nestia/e2e/lib/index.d.ts": "import * as e2e from \"./module\";\nexport default e2e;\nexport * from \"./module\";\n",
11644
- "node_modules/@nestia/e2e/lib/internal/json_equal_to.d.ts": "export declare const json_equal_to: (exception: (key: string) => boolean) => <T>(x: T) => (y: T) => string[];\n",
11644
+ "node_modules/@nestia/e2e/lib/internal/json_equal_to.d.ts": "export declare const json_equal_to: (exception: (key: string) => boolean) => <T>(x: T) => (y: T | null | undefined) => string[];\n",
11645
11645
  "node_modules/@nestia/e2e/lib/module.d.ts": "export * from \"./ArrayUtil\";\nexport * from \"./DynamicExecutor\";\nexport * from \"./GaffComparator\";\nexport * from \"./RandomGenerator\";\nexport * from \"./TestValidator\";\n",
11646
- "node_modules/@nestia/e2e/package.json": "{\n \"name\": \"@nestia/e2e\",\n \"version\": \"7.0.0\",\n \"description\": \"E2E test utilify functions\",\n \"main\": \"lib/index.js\",\n \"typings\": \"lib/index.d.ts\",\n \"scripts\": {\n \"build\": \"npm run build:main && npm run build:test\",\n \"build:main\": \"rimraf lib && tsc\",\n \"build:test\": \"rimraf bin && tsc -p test/tsconfig.json\",\n \"dev\": \"npm run build:test -- --watch\",\n \"eslint\": \"eslint src && eslint test\",\n \"prepare\": \"ts-patch install && typia patch\",\n \"test\": \"node bin/test\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"keywords\": [\n \"e2e\",\n \"nestia\",\n \"nestjs\",\n \"test\",\n \"tdd\",\n \"utility\"\n ],\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"devDependencies\": {\n \"@trivago/prettier-plugin-sort-imports\": \"^4.0.0\",\n \"@types/node\": \"^18.11.18\",\n \"@typescript-eslint/eslint-plugin\": \"^5.57.0\",\n \"@typescript-eslint/parser\": \"^5.57.0\",\n \"rimraf\": \"^6.0.1\",\n \"ts-node\": \"^10.9.1\",\n \"ts-patch\": \"^3.3.0\",\n \"typescript\": \"~5.8.3\",\n \"typescript-transform-paths\": \"^3.4.7\",\n \"typia\": \"^9.3.1\"\n },\n \"files\": [\n \"lib\",\n \"src\",\n \"README.md\",\n \"LICENSE\",\n \"package.json\"\n ]\n}",
11646
+ "node_modules/@nestia/e2e/package.json": "{\n \"name\": \"@nestia/e2e\",\n \"version\": \"7.0.3\",\n \"description\": \"E2E test utilify functions\",\n \"main\": \"lib/index.js\",\n \"typings\": \"lib/index.d.ts\",\n \"scripts\": {\n \"build\": \"npm run build:main && npm run build:test\",\n \"build:main\": \"rimraf lib && tsc\",\n \"build:test\": \"rimraf bin && tsc -p test/tsconfig.json\",\n \"dev\": \"npm run build:test -- --watch\",\n \"eslint\": \"eslint src && eslint test\",\n \"prepare\": \"ts-patch install && typia patch\",\n \"test\": \"node bin/test\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"keywords\": [\n \"e2e\",\n \"nestia\",\n \"nestjs\",\n \"test\",\n \"tdd\",\n \"utility\"\n ],\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"devDependencies\": {\n \"@trivago/prettier-plugin-sort-imports\": \"^4.0.0\",\n \"@types/node\": \"^18.11.18\",\n \"@typescript-eslint/eslint-plugin\": \"^5.57.0\",\n \"@typescript-eslint/parser\": \"^5.57.0\",\n \"rimraf\": \"^6.0.1\",\n \"ts-node\": \"^10.9.1\",\n \"ts-patch\": \"^3.3.0\",\n \"typescript\": \"~5.8.3\",\n \"typescript-transform-paths\": \"^3.4.7\",\n \"typia\": \"^9.3.1\"\n },\n \"files\": [\n \"lib\",\n \"src\",\n \"README.md\",\n \"LICENSE\",\n \"package.json\"\n ]\n}",
11647
11647
  "node_modules/@nestia/editor/lib/NestiaEditorApplication.d.ts": "export declare function NestiaEditorApplication(): import(\"react/jsx-runtime\").JSX.Element;\n",
11648
11648
  "node_modules/@nestia/editor/lib/NestiaEditorIframe.d.ts": "import { OpenApiV3, OpenApiV3_1, SwaggerV2 } from \"@samchon/openapi\";\nexport declare function NestiaEditorIframe(props: NestiaEditorIframe.IProps): import(\"react/jsx-runtime\").JSX.Element;\nexport declare namespace NestiaEditorIframe {\n interface IProps {\n swagger: string | SwaggerV2.IDocument | OpenApiV3.IDocument | OpenApiV3_1.IDocument;\n package?: string;\n keyword?: boolean;\n simulate?: boolean;\n e2e?: boolean;\n }\n}\n",
11649
11649
  "node_modules/@nestia/editor/lib/NestiaEditorModule.d.ts": "import type { OpenApiV3, OpenApiV3_1, SwaggerV2 } from \"@samchon/openapi\";\nexport declare namespace NestiaEditorModule {\n const setup: (props: {\n path: string;\n application: INestApplication;\n swagger: string | SwaggerV2.IDocument | OpenApiV3.IDocument | OpenApiV3_1.IDocument;\n package?: string;\n simulate?: boolean;\n e2e?: boolean;\n }) => Promise<void>;\n}\ninterface INestApplication {\n use(...args: any[]): this;\n getUrl(): Promise<string>;\n getHttpAdapter(): INestHttpAdaptor;\n setGlobalPrefix(prefix: string, options?: any): this;\n}\ninterface INestHttpAdaptor {\n getType(): string;\n close(): any;\n init?(): Promise<void>;\n get: Function;\n post: Function;\n put: Function;\n patch: Function;\n delete: Function;\n head: Function;\n all: Function;\n}\nexport {};\n",
@@ -11652,7 +11652,7 @@
11652
11652
  "node_modules/@nestia/editor/lib/internal/NestiaEditorComposer.d.ts": "import { OpenApiV3, OpenApiV3_1, SwaggerV2 } from \"@samchon/openapi\";\nimport { IValidation } from \"typia\";\nexport declare namespace NestiaEditorComposer {\n interface IProps {\n document: SwaggerV2.IDocument | OpenApiV3.IDocument | OpenApiV3_1.IDocument;\n e2e: boolean;\n keyword: boolean;\n simulate: boolean;\n package?: string;\n }\n interface IOutput {\n files: Record<string, string>;\n openFile: string;\n startScript: string[];\n }\n const nest: (props: IProps) => Promise<IValidation<IOutput>>;\n const sdk: (props: IProps) => Promise<IValidation<IOutput>>;\n}\n",
11653
11653
  "node_modules/@nestia/editor/lib/internal/NestiaEditorFileUploader.d.ts": "import { OpenApiV3, OpenApiV3_1, SwaggerV2 } from \"@samchon/openapi\";\nexport declare function NestiaEditorFileUploader(props: NestiaEditorFileUploader.IProps): import(\"react/jsx-runtime\").JSX.Element;\nexport declare namespace NestiaEditorFileUploader {\n interface IProps {\n onChange: (swagger: SwaggerV2.IDocument | OpenApiV3.IDocument | OpenApiV3_1.IDocument | null, error: string | null) => void;\n }\n}\n",
11654
11654
  "node_modules/@nestia/editor/lib/main.d.ts": "export {};\n",
11655
- "node_modules/@nestia/editor/package.json": "{\n \"name\": \"@nestia/editor\",\n \"version\": \"7.0.0\",\n \"main\": \"lib/index.js\",\n \"module\": \"lib/index.mjs\",\n \"typings\": \"lib/index.d.ts\",\n \"description\": \"Swagger-UI + Cloud TypeScript Editor\",\n \"scripts\": {\n \"build\": \"npm run build:static && npm run build:lib\",\n \"build:static\": \"rimraf dist && tsc -b && vite build\",\n \"build:lib\": \"rimraf lib && tsc --project tsconfig.lib.json && rollup -c\",\n \"dev\": \"vite\",\n \"lint\": \"eslint .\",\n \"preview\": \"vite preview\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"keywords\": [\n \"openapi\",\n \"swagger\",\n \"generator\",\n \"cloud\",\n \"typescript\",\n \"editor\",\n \"sdk\",\n \"nestjs\",\n \"nestia\"\n ],\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"dependencies\": {\n \"@mui/material\": \"^5.15.6\",\n \"@nestia/migrate\": \"^7.0.0\",\n \"@samchon/openapi\": \"^4.3.3\",\n \"@stackblitz/sdk\": \"^1.11.0\",\n \"@trivago/prettier-plugin-sort-imports\": \"^5.2.2\",\n \"js-yaml\": \"^4.1.0\",\n \"prettier\": \"3.3.3\",\n \"prettier-plugin-jsdoc\": \"^1.3.2\",\n \"react-mui-fileuploader\": \"^0.5.2\",\n \"typia\": \"^9.3.1\"\n },\n \"devDependencies\": {\n \"@eslint/js\": \"^9.13.0\",\n \"@nestjs/common\": \"^11.0.13\",\n \"@nestjs/core\": \"^11.0.13\",\n \"@nestjs/platform-express\": \"^11.0.13\",\n \"@nestjs/platform-fastify\": \"^11.0.13\",\n \"@rollup/plugin-terser\": \"^0.4.4\",\n \"@rollup/plugin-typescript\": \"^12.1.1\",\n \"@types/js-yaml\": \"^4.0.9\",\n \"@types/node\": \"^22.8.6\",\n \"@types/react\": \"^18.3.11\",\n \"@types/react-dom\": \"^18.3.1\",\n \"@vitejs/plugin-react\": \"^4.3.3\",\n \"eslint\": \"^9.13.0\",\n \"eslint-plugin-react-hooks\": \"^5.0.0\",\n \"eslint-plugin-react-refresh\": \"^0.4.13\",\n \"globals\": \"^15.11.0\",\n \"react\": \"^18.3.1\",\n \"react-dom\": \"^18.3.1\",\n \"rollup\": \"^4.24.2\",\n \"ts-node\": \"^10.9.2\",\n \"typescript\": \"~5.8.3\",\n \"typescript-eslint\": \"^8.10.0\",\n \"vite\": \"^5.4.9\"\n },\n \"files\": [\n \"README.md\",\n \"LICENSE\",\n \"package.json\",\n \"dist\",\n \"lib\",\n \"src\"\n ]\n}",
11655
+ "node_modules/@nestia/editor/package.json": "{\n \"name\": \"@nestia/editor\",\n \"version\": \"7.0.3\",\n \"main\": \"lib/index.js\",\n \"module\": \"lib/index.mjs\",\n \"typings\": \"lib/index.d.ts\",\n \"description\": \"Swagger-UI + Cloud TypeScript Editor\",\n \"scripts\": {\n \"build\": \"npm run build:static && npm run build:lib\",\n \"build:static\": \"rimraf dist && tsc -b && vite build\",\n \"build:lib\": \"rimraf lib && tsc --project tsconfig.lib.json && rollup -c\",\n \"dev\": \"vite\",\n \"lint\": \"eslint .\",\n \"preview\": \"vite preview\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"keywords\": [\n \"openapi\",\n \"swagger\",\n \"generator\",\n \"cloud\",\n \"typescript\",\n \"editor\",\n \"sdk\",\n \"nestjs\",\n \"nestia\"\n ],\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"dependencies\": {\n \"@mui/material\": \"^5.15.6\",\n \"@nestia/migrate\": \"^7.0.3\",\n \"@samchon/openapi\": \"^4.3.3\",\n \"@stackblitz/sdk\": \"^1.11.0\",\n \"@trivago/prettier-plugin-sort-imports\": \"^5.2.2\",\n \"js-yaml\": \"^4.1.0\",\n \"prettier\": \"3.3.3\",\n \"prettier-plugin-jsdoc\": \"^1.3.2\",\n \"react-mui-fileuploader\": \"^0.5.2\",\n \"typia\": \"^9.3.1\"\n },\n \"devDependencies\": {\n \"@eslint/js\": \"^9.13.0\",\n \"@nestjs/common\": \"^11.0.13\",\n \"@nestjs/core\": \"^11.0.13\",\n \"@nestjs/platform-express\": \"^11.0.13\",\n \"@nestjs/platform-fastify\": \"^11.0.13\",\n \"@rollup/plugin-terser\": \"^0.4.4\",\n \"@rollup/plugin-typescript\": \"^12.1.1\",\n \"@types/js-yaml\": \"^4.0.9\",\n \"@types/node\": \"^22.8.6\",\n \"@types/react\": \"^18.3.11\",\n \"@types/react-dom\": \"^18.3.1\",\n \"@vitejs/plugin-react\": \"^4.3.3\",\n \"eslint\": \"^9.13.0\",\n \"eslint-plugin-react-hooks\": \"^5.0.0\",\n \"eslint-plugin-react-refresh\": \"^0.4.13\",\n \"globals\": \"^15.11.0\",\n \"react\": \"^18.3.1\",\n \"react-dom\": \"^18.3.1\",\n \"rollup\": \"^4.24.2\",\n \"ts-node\": \"^10.9.2\",\n \"typescript\": \"~5.8.3\",\n \"typescript-eslint\": \"^8.10.0\",\n \"vite\": \"^5.4.9\"\n },\n \"files\": [\n \"README.md\",\n \"LICENSE\",\n \"package.json\",\n \"dist\",\n \"lib\",\n \"src\"\n ]\n}",
11656
11656
  "node_modules/@nestia/editor/src/vite-env.d.ts": "/// <reference types=\"vite/client\" />\n",
11657
11657
  "node_modules/@nestia/fetcher/lib/AesPkcs5.d.ts": "/**\n * Utility class for the AES-128/256 encryption.\n *\n * - AES-128/256\n * - CBC mode\n * - PKCS#5 Padding\n * - Base64 Encoding\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace AesPkcs5 {\n /**\n * Encrypt data\n *\n * @param data Target data\n * @param key Key value of the encryption.\n * @param iv Initializer Vector for the encryption\n * @return Encrypted data\n */\n function encrypt(data: string, key: string, iv: string): string;\n /**\n * Decrypt data.\n *\n * @param data Target data\n * @param key Key value of the decryption.\n * @param iv Initializer Vector for the decryption\n * @return Decrypted data.\n */\n function decrypt(data: string, key: string, iv: string): string;\n}\n",
11658
11658
  "node_modules/@nestia/fetcher/lib/EncryptedFetcher.d.ts": "import { IConnection } from \"./IConnection\";\nimport { IFetchRoute } from \"./IFetchRoute\";\nimport { IPropagation } from \"./IPropagation\";\n/**\n * Utility class for `fetch` functions used in `@nestia/sdk` with encryption.\n *\n * `EncryptedFetcher` is a utility class designed for SDK functions generated by\n * [`@nestia/sdk`](https://nestia.io/docs/sdk/sdk), interacting with the remote\n * HTTP API encrypted by AES-PKCS algorithm. In other words, this is a collection of\n * dedicated `fetch()` functions for `@nestia/sdk` with encryption.\n *\n * For reference, `EncryptedFetcher` class being used only when target controller\n * method is encrypting body data by `@EncryptedRoute` or `@EncryptedBody` decorators.\n * If those decorators are not used, {@link PlainFetcher} class would be used instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace EncryptedFetcher {\n /**\n * Fetch function only for `HEAD` method.\n *\n * @param connection Connection information for the remote HTTP server\n * @param route Route information about the target API\n * @return Nothing because of `HEAD` method\n */\n function fetch(connection: IConnection, route: IFetchRoute<\"HEAD\">): Promise<void>;\n /**\n * Fetch function only for `GET` method.\n *\n * @param connection Connection information for the remote HTTP server\n * @param route Route information about the target API\n * @return Response body data from the remote API\n */\n function fetch<Output>(connection: IConnection, route: IFetchRoute<\"GET\">): Promise<Output>;\n /**\n * Fetch function for the `POST`, `PUT`, `PATCH` and `DELETE` methods.\n *\n * @param connection Connection information for the remote HTTP server\n * @param route Route information about the target API\n * @return Response body data from the remote API\n */\n function fetch<Input, Output>(connection: IConnection, route: IFetchRoute<\"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\">, input?: Input, stringify?: (input: Input) => string): Promise<Output>;\n function propagate<Output extends IPropagation<any, any>>(connection: IConnection, route: IFetchRoute<\"GET\" | \"HEAD\">): Promise<Output>;\n function propagate<Input, Output extends IPropagation<any, any>>(connection: IConnection, route: IFetchRoute<\"DELETE\" | \"GET\" | \"HEAD\" | \"PATCH\" | \"POST\" | \"PUT\">, input?: Input, stringify?: (input: Input) => string): Promise<Output>;\n}\n",
@@ -11668,7 +11668,7 @@
11668
11668
  "node_modules/@nestia/fetcher/lib/PlainFetcher.d.ts": "import { IConnection } from \"./IConnection\";\nimport { IFetchRoute } from \"./IFetchRoute\";\nimport { IPropagation } from \"./IPropagation\";\n/**\n * Utility class for `fetch` functions used in `@nestia/sdk`.\n *\n * `PlainFetcher` is a utility class designed for SDK functions generated by\n * [`@nestia/sdk`](https://nestia.io/docs/sdk/sdk), interacting with the remote\n * HTTP sever API. In other words, this is a collection of dedicated `fetch()`\n * functions for `@nestia/sdk`.\n *\n * For reference, `PlainFetcher` class does not encrypt or decrypt the body data\n * at all. It just delivers plain data without any post processing. If you've\n * defined a controller method through `@EncryptedRoute` or `@EncryptedBody`\n * decorator, then {@liink EncryptedFetcher} class would be used instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace PlainFetcher {\n /**\n * Fetch function only for `HEAD` method.\n *\n * @param connection Connection information for the remote HTTP server\n * @param route Route information about the target API\n * @return Nothing because of `HEAD` method\n */\n function fetch(connection: IConnection, route: IFetchRoute<\"HEAD\">): Promise<void>;\n /**\n * Fetch function only for `GET` method.\n *\n * @param connection Connection information for the remote HTTP server\n * @param route Route information about the target API\n * @return Response body data from the remote API\n */\n function fetch<Output>(connection: IConnection, route: IFetchRoute<\"GET\">): Promise<Output>;\n /**\n * Fetch function for the `POST`, `PUT`, `PATCH` and `DELETE` methods.\n *\n * @param connection Connection information for the remote HTTP server\n * @param route Route information about the target API\n * @return Response body data from the remote API\n */\n function fetch<Input, Output>(connection: IConnection, route: IFetchRoute<\"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\">, input?: Input, stringify?: (input: Input) => string): Promise<Output>;\n function propagate<Output extends IPropagation<any, any>>(connection: IConnection, route: IFetchRoute<\"GET\" | \"HEAD\">): Promise<Output>;\n function propagate<Input, Output extends IPropagation<any, any>>(connection: IConnection, route: IFetchRoute<\"DELETE\" | \"GET\" | \"HEAD\" | \"PATCH\" | \"POST\" | \"PUT\">, input?: Input, stringify?: (input: Input) => string): Promise<Output>;\n}\n",
11669
11669
  "node_modules/@nestia/fetcher/lib/index.d.ts": "export * from \"./FormDataInput\";\nexport * from \"./HttpError\";\nexport * from \"./IConnection\";\nexport * from \"./IEncryptionPassword\";\nexport * from \"./IFetchEvent\";\nexport * from \"./IFetchRoute\";\nexport * from \"./IPropagation\";\n",
11670
11670
  "node_modules/@nestia/fetcher/lib/internal/FetcherBase.d.ts": "export {};\n",
11671
- "node_modules/@nestia/fetcher/package.json": "{\n \"name\": \"@nestia/fetcher\",\n \"version\": \"7.0.0\",\n \"description\": \"Fetcher library of Nestia SDK\",\n \"main\": \"lib/index.js\",\n \"typings\": \"lib/index.d.ts\",\n \"scripts\": {\n \"build\": \"rimraf lib && tsc\",\n \"dev\": \"tsc -p tsconfig.test.json --watch\",\n \"eslint\": \"eslint src\",\n \"eslint:fix\": \"eslint src --fix\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"keywords\": [\n \"nestia\",\n \"fetcher\",\n \"sdk\"\n ],\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"dependencies\": {\n \"@samchon/openapi\": \"^4.3.3\",\n \"typia\": \"^9.3.1\"\n },\n \"peerDependencies\": {\n \"@samchon/openapi\": \">=4.3.3 <5.0.0\",\n \"typia\": \">=9.3.1 <10.0.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^18.11.14\",\n \"@typescript-eslint/eslint-plugin\": \"^5.46.1\",\n \"@typescript-eslint/parser\": \"^5.46.1\",\n \"rimraf\": \"^6.0.1\",\n \"typescript\": \"~5.8.3\"\n },\n \"files\": [\n \"README.md\",\n \"LICENSE\",\n \"package.json\",\n \"lib\",\n \"src\"\n ]\n}",
11671
+ "node_modules/@nestia/fetcher/package.json": "{\n \"name\": \"@nestia/fetcher\",\n \"version\": \"7.0.3\",\n \"description\": \"Fetcher library of Nestia SDK\",\n \"main\": \"lib/index.js\",\n \"typings\": \"lib/index.d.ts\",\n \"scripts\": {\n \"build\": \"rimraf lib && tsc\",\n \"dev\": \"tsc -p tsconfig.test.json --watch\",\n \"eslint\": \"eslint src\",\n \"eslint:fix\": \"eslint src --fix\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"keywords\": [\n \"nestia\",\n \"fetcher\",\n \"sdk\"\n ],\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"dependencies\": {\n \"@samchon/openapi\": \"^4.3.3\",\n \"typia\": \"^9.3.1\"\n },\n \"peerDependencies\": {\n \"@samchon/openapi\": \">=4.3.3 <5.0.0\",\n \"typia\": \">=9.3.1 <10.0.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^18.11.14\",\n \"@typescript-eslint/eslint-plugin\": \"^5.46.1\",\n \"@typescript-eslint/parser\": \"^5.46.1\",\n \"rimraf\": \"^6.0.1\",\n \"typescript\": \"~5.8.3\"\n },\n \"files\": [\n \"README.md\",\n \"LICENSE\",\n \"package.json\",\n \"lib\",\n \"src\"\n ]\n}",
11672
11672
  "node_modules/@nestia/migrate/lib/NestiaMigrateApplication.d.ts": "import { IHttpMigrateApplication, OpenApi, OpenApiV3, OpenApiV3_1, SwaggerV2 } from \"@samchon/openapi\";\nimport { IValidation } from \"typia\";\nimport { INestiaMigrateConfig } from \"./structures/INestiaMigrateConfig\";\nimport { INestiaMigrateContext } from \"./structures/INestiaMigrateContext\";\nimport { INestiaMigrateFile } from \"./structures/INestiaMigrateFile\";\nexport declare class NestiaMigrateApplication {\n readonly document: OpenApi.IDocument;\n private readonly application_;\n constructor(document: OpenApi.IDocument);\n static assert(document: SwaggerV2.IDocument | OpenApiV3.IDocument | OpenApiV3_1.IDocument | OpenApi.IDocument): NestiaMigrateApplication;\n static validate(document: SwaggerV2.IDocument | OpenApiV3.IDocument | OpenApiV3_1.IDocument | OpenApi.IDocument): IValidation<NestiaMigrateApplication>;\n getErrors(): IHttpMigrateApplication.IError[];\n nest(config: INestiaMigrateConfig): Record<string, string>;\n sdk(config: INestiaMigrateConfig): Record<string, string>;\n private rename;\n}\nexport declare namespace MigrateApplication {\n interface IOutput {\n context: INestiaMigrateContext;\n files: INestiaMigrateFile[];\n errors: IHttpMigrateApplication.IError[];\n }\n}\n",
11673
11673
  "node_modules/@nestia/migrate/lib/analyzers/NestiaMigrateControllerAnalyzer.d.ts": "import { IHttpMigrateRoute } from \"@samchon/openapi\";\nimport { INestiaMigrateController } from \"../structures/INestiaMigrateController\";\nexport declare namespace NestiaMigrateControllerAnalyzer {\n const analyze: (routes: IHttpMigrateRoute[]) => INestiaMigrateController[];\n}\n",
11674
11674
  "node_modules/@nestia/migrate/lib/archivers/NestiaMigrateFileArchiver.d.ts": "export declare namespace NestiaMigrateFileArchiver {\n const archive: (props: {\n mkdir: (path: string) => Promise<void>;\n writeFile: (path: string, content: string) => Promise<void>;\n root: string;\n files: Record<string, string>;\n }) => Promise<void>;\n}\n",
@@ -11713,7 +11713,7 @@
11713
11713
  "node_modules/commander/typings/index.d.ts": "// Type definitions for commander\n// Original definitions by: Alan Agius <https://github.com/alan-agius4>, Marcelo Dezem <https://github.com/mdezem>, vvakame <https://github.com/vvakame>, Jules Randolph <https://github.com/sveinburne>\n\n// Using method rather than property for method-signature-style, to document method overloads separately. Allow either.\n/* eslint-disable @typescript-eslint/method-signature-style */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport class CommanderError extends Error {\n code: string;\n exitCode: number;\n message: string;\n nestedError?: string;\n\n /**\n * Constructs the CommanderError class\n * @param exitCode - suggested exit code which could be used with process.exit\n * @param code - an id string representing the error\n * @param message - human-readable description of the error\n * @constructor\n */\n constructor(exitCode: number, code: string, message: string);\n}\n\nexport class InvalidArgumentError extends CommanderError {\n /**\n * Constructs the InvalidArgumentError class\n * @param message - explanation of why argument is invalid\n * @constructor\n */\n constructor(message: string);\n}\nexport { InvalidArgumentError as InvalidOptionArgumentError }; // deprecated old name\n\nexport interface ErrorOptions { // optional parameter for error()\n /** an id string representing the error */\n code?: string;\n /** suggested exit code which could be used with process.exit */\n exitCode?: number;\n}\n\nexport class Argument {\n description: string;\n required: boolean;\n variadic: boolean;\n\n /**\n * Initialize a new command argument with the given name and description.\n * The default is that the argument is required, and you can explicitly\n * indicate this with <> around the name. Put [] around the name for an optional argument.\n */\n constructor(arg: string, description?: string);\n\n /**\n * Return argument name.\n */\n name(): string;\n\n /**\n * Set the default value, and optionally supply the description to be displayed in the help.\n */\n default(value: unknown, description?: string): this;\n\n /**\n * Set the custom handler for processing CLI command arguments into argument values.\n */\n argParser<T>(fn: (value: string, previous: T) => T): this;\n\n /**\n * Only allow argument value to be one of choices.\n */\n choices(values: readonly string[]): this;\n\n /**\n * Make argument required.\n */\n argRequired(): this;\n\n /**\n * Make argument optional.\n */\n argOptional(): this;\n}\n\nexport class Option {\n flags: string;\n description: string;\n\n required: boolean; // A value must be supplied when the option is specified.\n optional: boolean; // A value is optional when the option is specified.\n variadic: boolean;\n mandatory: boolean; // The option must have a value after parsing, which usually means it must be specified on command line.\n short?: string;\n long?: string;\n negate: boolean;\n defaultValue?: any;\n defaultValueDescription?: string;\n parseArg?: <T>(value: string, previous: T) => T;\n hidden: boolean;\n argChoices?: string[];\n\n constructor(flags: string, description?: string);\n\n /**\n * Set the default value, and optionally supply the description to be displayed in the help.\n */\n default(value: unknown, description?: string): this;\n\n /**\n * Preset to use when option used without option-argument, especially optional but also boolean and negated.\n * The custom processing (parseArg) is called.\n *\n * @example\n * ```ts\n * new Option('--color').default('GREYSCALE').preset('RGB');\n * new Option('--donate [amount]').preset('20').argParser(parseFloat);\n * ```\n */\n preset(arg: unknown): this;\n\n /**\n * Add option name(s) that conflict with this option.\n * An error will be displayed if conflicting options are found during parsing.\n *\n * @example\n * ```ts\n * new Option('--rgb').conflicts('cmyk');\n * new Option('--js').conflicts(['ts', 'jsx']);\n * ```\n */\n conflicts(names: string | string[]): this;\n\n /**\n * Specify implied option values for when this option is set and the implied options are not.\n *\n * The custom processing (parseArg) is not called on the implied values.\n *\n * @example\n * program\n * .addOption(new Option('--log', 'write logging information to file'))\n * .addOption(new Option('--trace', 'log extra details').implies({ log: 'trace.txt' }));\n */\n implies(optionValues: OptionValues): this;\n\n /**\n * Set environment variable to check for option value.\n *\n * An environment variables is only used if when processed the current option value is\n * undefined, or the source of the current value is 'default' or 'config' or 'env'.\n */\n env(name: string): this;\n\n /**\n * Calculate the full description, including defaultValue etc.\n */\n fullDescription(): string;\n\n /**\n * Set the custom handler for processing CLI option arguments into option values.\n */\n argParser<T>(fn: (value: string, previous: T) => T): this;\n\n /**\n * Whether the option is mandatory and must have a value after parsing.\n */\n makeOptionMandatory(mandatory?: boolean): this;\n\n /**\n * Hide option in help.\n */\n hideHelp(hide?: boolean): this;\n\n /**\n * Only allow option value to be one of choices.\n */\n choices(values: readonly string[]): this;\n\n /**\n * Return option name.\n */\n name(): string;\n\n /**\n * Return option name, in a camelcase format that can be used\n * as a object attribute key.\n */\n attributeName(): string;\n\n /**\n * Return whether a boolean option.\n *\n * Options are one of boolean, negated, required argument, or optional argument.\n */\n isBoolean(): boolean;\n}\n\nexport class Help {\n /** output helpWidth, long lines are wrapped to fit */\n helpWidth?: number;\n sortSubcommands: boolean;\n sortOptions: boolean;\n showGlobalOptions: boolean;\n\n constructor();\n\n /** Get the command term to show in the list of subcommands. */\n subcommandTerm(cmd: Command): string;\n /** Get the command summary to show in the list of subcommands. */\n subcommandDescription(cmd: Command): string;\n /** Get the option term to show in the list of options. */\n optionTerm(option: Option): string;\n /** Get the option description to show in the list of options. */\n optionDescription(option: Option): string;\n /** Get the argument term to show in the list of arguments. */\n argumentTerm(argument: Argument): string;\n /** Get the argument description to show in the list of arguments. */\n argumentDescription(argument: Argument): string;\n\n /** Get the command usage to be displayed at the top of the built-in help. */\n commandUsage(cmd: Command): string;\n /** Get the description for the command. */\n commandDescription(cmd: Command): string;\n\n /** Get an array of the visible subcommands. Includes a placeholder for the implicit help command, if there is one. */\n visibleCommands(cmd: Command): Command[];\n /** Get an array of the visible options. Includes a placeholder for the implicit help option, if there is one. */\n visibleOptions(cmd: Command): Option[];\n /** Get an array of the visible global options. (Not including help.) */\n visibleGlobalOptions(cmd: Command): Option[];\n /** Get an array of the arguments which have descriptions. */\n visibleArguments(cmd: Command): Argument[];\n\n /** Get the longest command term length. */\n longestSubcommandTermLength(cmd: Command, helper: Help): number;\n /** Get the longest option term length. */\n longestOptionTermLength(cmd: Command, helper: Help): number;\n /** Get the longest global option term length. */\n longestGlobalOptionTermLength(cmd: Command, helper: Help): number;\n /** Get the longest argument term length. */\n longestArgumentTermLength(cmd: Command, helper: Help): number;\n /** Calculate the pad width from the maximum term length. */\n padWidth(cmd: Command, helper: Help): number;\n\n /**\n * Wrap the given string to width characters per line, with lines after the first indented.\n * Do not wrap if insufficient room for wrapping (minColumnWidth), or string is manually formatted.\n */\n wrap(str: string, width: number, indent: number, minColumnWidth?: number): string;\n\n /** Generate the built-in help text. */\n formatHelp(cmd: Command, helper: Help): string;\n}\nexport type HelpConfiguration = Partial<Help>;\n\nexport interface ParseOptions {\n from: 'node' | 'electron' | 'user';\n}\nexport interface HelpContext { // optional parameter for .help() and .outputHelp()\n error: boolean;\n}\nexport interface AddHelpTextContext { // passed to text function used with .addHelpText()\n error: boolean;\n command: Command;\n}\nexport interface OutputConfiguration {\n writeOut?(str: string): void;\n writeErr?(str: string): void;\n getOutHelpWidth?(): number;\n getErrHelpWidth?(): number;\n outputError?(str: string, write: (str: string) => void): void;\n\n}\n\nexport type AddHelpTextPosition = 'beforeAll' | 'before' | 'after' | 'afterAll';\nexport type HookEvent = 'preSubcommand' | 'preAction' | 'postAction';\nexport type OptionValueSource = 'default' | 'config' | 'env' | 'cli' | 'implied';\n\nexport type OptionValues = Record<string, any>;\n\nexport class Command {\n args: string[];\n processedArgs: any[];\n readonly commands: readonly Command[];\n readonly options: readonly Option[];\n parent: Command | null;\n\n constructor(name?: string);\n\n /**\n * Set the program version to `str`.\n *\n * This method auto-registers the \"-V, --version\" flag\n * which will print the version number when passed.\n *\n * You can optionally supply the flags and description to override the defaults.\n */\n version(str: string, flags?: string, description?: string): this;\n\n /**\n * Define a command, implemented using an action handler.\n *\n * @remarks\n * The command description is supplied using `.description`, not as a parameter to `.command`.\n *\n * @example\n * ```ts\n * program\n * .command('clone <source> [destination]')\n * .description('clone a repository into a newly created directory')\n * .action((source, destination) => {\n * console.log('clone command called');\n * });\n * ```\n *\n * @param nameAndArgs - command name and arguments, args are `<required>` or `[optional]` and last may also be `variadic...`\n * @param opts - configuration options\n * @returns new command\n */\n command(nameAndArgs: string, opts?: CommandOptions): ReturnType<this['createCommand']>;\n /**\n * Define a command, implemented in a separate executable file.\n *\n * @remarks\n * The command description is supplied as the second parameter to `.command`.\n *\n * @example\n * ```ts\n * program\n * .command('start <service>', 'start named service')\n * .command('stop [service]', 'stop named service, or all if no name supplied');\n * ```\n *\n * @param nameAndArgs - command name and arguments, args are `<required>` or `[optional]` and last may also be `variadic...`\n * @param description - description of executable command\n * @param opts - configuration options\n * @returns `this` command for chaining\n */\n command(nameAndArgs: string, description: string, opts?: ExecutableCommandOptions): this;\n\n /**\n * Factory routine to create a new unattached command.\n *\n * See .command() for creating an attached subcommand, which uses this routine to\n * create the command. You can override createCommand to customise subcommands.\n */\n createCommand(name?: string): Command;\n\n /**\n * Add a prepared subcommand.\n *\n * See .command() for creating an attached subcommand which inherits settings from its parent.\n *\n * @returns `this` command for chaining\n */\n addCommand(cmd: Command, opts?: CommandOptions): this;\n\n /**\n * Factory routine to create a new unattached argument.\n *\n * See .argument() for creating an attached argument, which uses this routine to\n * create the argument. You can override createArgument to return a custom argument.\n */\n createArgument(name: string, description?: string): Argument;\n\n /**\n * Define argument syntax for command.\n *\n * The default is that the argument is required, and you can explicitly\n * indicate this with <> around the name. Put [] around the name for an optional argument.\n *\n * @example\n * ```\n * program.argument('<input-file>');\n * program.argument('[output-file]');\n * ```\n *\n * @returns `this` command for chaining\n */\n argument<T>(flags: string, description: string, fn: (value: string, previous: T) => T, defaultValue?: T): this;\n argument(name: string, description?: string, defaultValue?: unknown): this;\n\n /**\n * Define argument syntax for command, adding a prepared argument.\n *\n * @returns `this` command for chaining\n */\n addArgument(arg: Argument): this;\n\n /**\n * Define argument syntax for command, adding multiple at once (without descriptions).\n *\n * See also .argument().\n *\n * @example\n * ```\n * program.arguments('<cmd> [env]');\n * ```\n *\n * @returns `this` command for chaining\n */\n arguments(names: string): this;\n\n /**\n * Override default decision whether to add implicit help command.\n *\n * @example\n * ```\n * addHelpCommand() // force on\n * addHelpCommand(false); // force off\n * addHelpCommand('help [cmd]', 'display help for [cmd]'); // force on with custom details\n * ```\n *\n * @returns `this` command for chaining\n */\n addHelpCommand(enableOrNameAndArgs?: string | boolean, description?: string): this;\n\n /**\n * Add hook for life cycle event.\n */\n hook(event: HookEvent, listener: (thisCommand: Command, actionCommand: Command) => void | Promise<void>): this;\n\n /**\n * Register callback to use as replacement for calling process.exit.\n */\n exitOverride(callback?: (err: CommanderError) => never | void): this;\n\n /**\n * Display error message and exit (or call exitOverride).\n */\n error(message: string, errorOptions?: ErrorOptions): never;\n\n /**\n * You can customise the help with a subclass of Help by overriding createHelp,\n * or by overriding Help properties using configureHelp().\n */\n createHelp(): Help;\n\n /**\n * You can customise the help by overriding Help properties using configureHelp(),\n * or with a subclass of Help by overriding createHelp().\n */\n configureHelp(configuration: HelpConfiguration): this;\n /** Get configuration */\n configureHelp(): HelpConfiguration;\n\n /**\n * The default output goes to stdout and stderr. You can customise this for special\n * applications. You can also customise the display of errors by overriding outputError.\n *\n * The configuration properties are all functions:\n * ```\n * // functions to change where being written, stdout and stderr\n * writeOut(str)\n * writeErr(str)\n * // matching functions to specify width for wrapping help\n * getOutHelpWidth()\n * getErrHelpWidth()\n * // functions based on what is being written out\n * outputError(str, write) // used for displaying errors, and not used for displaying help\n * ```\n */\n configureOutput(configuration: OutputConfiguration): this;\n /** Get configuration */\n configureOutput(): OutputConfiguration;\n\n /**\n * Copy settings that are useful to have in common across root command and subcommands.\n *\n * (Used internally when adding a command using `.command()` so subcommands inherit parent settings.)\n */\n copyInheritedSettings(sourceCommand: Command): this;\n\n /**\n * Display the help or a custom message after an error occurs.\n */\n showHelpAfterError(displayHelp?: boolean | string): this;\n\n /**\n * Display suggestion of similar commands for unknown commands, or options for unknown options.\n */\n showSuggestionAfterError(displaySuggestion?: boolean): this;\n\n /**\n * Register callback `fn` for the command.\n *\n * @example\n * ```\n * program\n * .command('serve')\n * .description('start service')\n * .action(function() {\n * // do work here\n * });\n * ```\n *\n * @returns `this` command for chaining\n */\n action(fn: (...args: any[]) => void | Promise<void>): this;\n\n /**\n * Define option with `flags`, `description` and optional\n * coercion `fn`.\n *\n * The `flags` string contains the short and/or long flags,\n * separated by comma, a pipe or space. The following are all valid\n * all will output this way when `--help` is used.\n *\n * \"-p, --pepper\"\n * \"-p|--pepper\"\n * \"-p --pepper\"\n *\n * @example\n * ```\n * // simple boolean defaulting to false\n * program.option('-p, --pepper', 'add pepper');\n *\n * --pepper\n * program.pepper\n * // => Boolean\n *\n * // simple boolean defaulting to true\n * program.option('-C, --no-cheese', 'remove cheese');\n *\n * program.cheese\n * // => true\n *\n * --no-cheese\n * program.cheese\n * // => false\n *\n * // required argument\n * program.option('-C, --chdir <path>', 'change the working directory');\n *\n * --chdir /tmp\n * program.chdir\n * // => \"/tmp\"\n *\n * // optional argument\n * program.option('-c, --cheese [type]', 'add cheese [marble]');\n * ```\n *\n * @returns `this` command for chaining\n */\n option(flags: string, description?: string, defaultValue?: string | boolean | string[]): this;\n option<T>(flags: string, description: string, fn: (value: string, previous: T) => T, defaultValue?: T): this;\n /** @deprecated since v7, instead use choices or a custom function */\n option(flags: string, description: string, regexp: RegExp, defaultValue?: string | boolean | string[]): this;\n\n /**\n * Define a required option, which must have a value after parsing. This usually means\n * the option must be specified on the command line. (Otherwise the same as .option().)\n *\n * The `flags` string contains the short and/or long flags, separated by comma, a pipe or space.\n */\n requiredOption(flags: string, description?: string, defaultValue?: string | boolean | string[]): this;\n requiredOption<T>(flags: string, description: string, fn: (value: string, previous: T) => T, defaultValue?: T): this;\n /** @deprecated since v7, instead use choices or a custom function */\n requiredOption(flags: string, description: string, regexp: RegExp, defaultValue?: string | boolean | string[]): this;\n\n /**\n * Factory routine to create a new unattached option.\n *\n * See .option() for creating an attached option, which uses this routine to\n * create the option. You can override createOption to return a custom option.\n */\n\n createOption(flags: string, description?: string): Option;\n\n /**\n * Add a prepared Option.\n *\n * See .option() and .requiredOption() for creating and attaching an option in a single call.\n */\n addOption(option: Option): this;\n\n /**\n * Whether to store option values as properties on command object,\n * or store separately (specify false). In both cases the option values can be accessed using .opts().\n *\n * @returns `this` command for chaining\n */\n storeOptionsAsProperties<T extends OptionValues>(): this & T;\n storeOptionsAsProperties<T extends OptionValues>(storeAsProperties: true): this & T;\n storeOptionsAsProperties(storeAsProperties?: boolean): this;\n\n /**\n * Retrieve option value.\n */\n getOptionValue(key: string): any;\n\n /**\n * Store option value.\n */\n setOptionValue(key: string, value: unknown): this;\n\n /**\n * Store option value and where the value came from.\n */\n setOptionValueWithSource(key: string, value: unknown, source: OptionValueSource): this;\n\n /**\n * Get source of option value.\n */\n getOptionValueSource(key: string): OptionValueSource | undefined;\n\n /**\n * Get source of option value. See also .optsWithGlobals().\n */\n getOptionValueSourceWithGlobals(key: string): OptionValueSource | undefined;\n\n /**\n * Alter parsing of short flags with optional values.\n *\n * @example\n * ```\n * // for `.option('-f,--flag [value]'):\n * .combineFlagAndOptionalValue(true) // `-f80` is treated like `--flag=80`, this is the default behaviour\n * .combineFlagAndOptionalValue(false) // `-fb` is treated like `-f -b`\n * ```\n *\n * @returns `this` command for chaining\n */\n combineFlagAndOptionalValue(combine?: boolean): this;\n\n /**\n * Allow unknown options on the command line.\n *\n * @returns `this` command for chaining\n */\n allowUnknownOption(allowUnknown?: boolean): this;\n\n /**\n * Allow excess command-arguments on the command line. Pass false to make excess arguments an error.\n *\n * @returns `this` command for chaining\n */\n allowExcessArguments(allowExcess?: boolean): this;\n\n /**\n * Enable positional options. Positional means global options are specified before subcommands which lets\n * subcommands reuse the same option names, and also enables subcommands to turn on passThroughOptions.\n *\n * The default behaviour is non-positional and global options may appear anywhere on the command line.\n *\n * @returns `this` command for chaining\n */\n enablePositionalOptions(positional?: boolean): this;\n\n /**\n * Pass through options that come after command-arguments rather than treat them as command-options,\n * so actual command-options come before command-arguments. Turning this on for a subcommand requires\n * positional options to have been enabled on the program (parent commands).\n *\n * The default behaviour is non-positional and options may appear before or after command-arguments.\n *\n * @returns `this` command for chaining\n */\n passThroughOptions(passThrough?: boolean): this;\n\n /**\n * Parse `argv`, setting options and invoking commands when defined.\n *\n * The default expectation is that the arguments are from node and have the application as argv[0]\n * and the script being run in argv[1], with user parameters after that.\n *\n * @example\n * ```\n * program.parse(process.argv);\n * program.parse(); // implicitly use process.argv and auto-detect node vs electron conventions\n * program.parse(my-args, { from: 'user' }); // just user supplied arguments, nothing special about argv[0]\n * ```\n *\n * @returns `this` command for chaining\n */\n parse(argv?: readonly string[], options?: ParseOptions): this;\n\n /**\n * Parse `argv`, setting options and invoking commands when defined.\n *\n * Use parseAsync instead of parse if any of your action handlers are async. Returns a Promise.\n *\n * The default expectation is that the arguments are from node and have the application as argv[0]\n * and the script being run in argv[1], with user parameters after that.\n *\n * @example\n * ```\n * program.parseAsync(process.argv);\n * program.parseAsync(); // implicitly use process.argv and auto-detect node vs electron conventions\n * program.parseAsync(my-args, { from: 'user' }); // just user supplied arguments, nothing special about argv[0]\n * ```\n *\n * @returns Promise\n */\n parseAsync(argv?: readonly string[], options?: ParseOptions): Promise<this>;\n\n /**\n * Parse options from `argv` removing known options,\n * and return argv split into operands and unknown arguments.\n *\n * argv => operands, unknown\n * --known kkk op => [op], []\n * op --known kkk => [op], []\n * sub --unknown uuu op => [sub], [--unknown uuu op]\n * sub -- --unknown uuu op => [sub --unknown uuu op], []\n */\n parseOptions(argv: string[]): ParseOptionsResult;\n\n /**\n * Return an object containing local option values as key-value pairs\n */\n opts<T extends OptionValues>(): T;\n\n /**\n * Return an object containing merged local and global option values as key-value pairs.\n */\n optsWithGlobals<T extends OptionValues>(): T;\n\n /**\n * Set the description.\n *\n * @returns `this` command for chaining\n */\n\n description(str: string): this;\n /** @deprecated since v8, instead use .argument to add command argument with description */\n description(str: string, argsDescription: Record<string, string>): this;\n /**\n * Get the description.\n */\n description(): string;\n\n /**\n * Set the summary. Used when listed as subcommand of parent.\n *\n * @returns `this` command for chaining\n */\n\n summary(str: string): this;\n /**\n * Get the summary.\n */\n summary(): string;\n\n /**\n * Set an alias for the command.\n *\n * You may call more than once to add multiple aliases. Only the first alias is shown in the auto-generated help.\n *\n * @returns `this` command for chaining\n */\n alias(alias: string): this;\n /**\n * Get alias for the command.\n */\n alias(): string;\n\n /**\n * Set aliases for the command.\n *\n * Only the first alias is shown in the auto-generated help.\n *\n * @returns `this` command for chaining\n */\n aliases(aliases: readonly string[]): this;\n /**\n * Get aliases for the command.\n */\n aliases(): string[];\n\n /**\n * Set the command usage.\n *\n * @returns `this` command for chaining\n */\n usage(str: string): this;\n /**\n * Get the command usage.\n */\n usage(): string;\n\n /**\n * Set the name of the command.\n *\n * @returns `this` command for chaining\n */\n name(str: string): this;\n /**\n * Get the name of the command.\n */\n name(): string;\n\n /**\n * Set the name of the command from script filename, such as process.argv[1],\n * or require.main.filename, or __filename.\n *\n * (Used internally and public although not documented in README.)\n *\n * @example\n * ```ts\n * program.nameFromFilename(require.main.filename);\n * ```\n *\n * @returns `this` command for chaining\n */\n nameFromFilename(filename: string): this;\n\n /**\n * Set the directory for searching for executable subcommands of this command.\n *\n * @example\n * ```ts\n * program.executableDir(__dirname);\n * // or\n * program.executableDir('subcommands');\n * ```\n *\n * @returns `this` command for chaining\n */\n executableDir(path: string): this;\n /**\n * Get the executable search directory.\n */\n executableDir(): string;\n\n /**\n * Output help information for this command.\n *\n * Outputs built-in help, and custom text added using `.addHelpText()`.\n *\n */\n outputHelp(context?: HelpContext): void;\n /** @deprecated since v7 */\n outputHelp(cb?: (str: string) => string): void;\n\n /**\n * Return command help documentation.\n */\n helpInformation(context?: HelpContext): string;\n\n /**\n * You can pass in flags and a description to override the help\n * flags and help description for your command. Pass in false\n * to disable the built-in help option.\n */\n helpOption(flags?: string | boolean, description?: string): this;\n\n /**\n * Output help information and exit.\n *\n * Outputs built-in help, and custom text added using `.addHelpText()`.\n */\n help(context?: HelpContext): never;\n /** @deprecated since v7 */\n help(cb?: (str: string) => string): never;\n\n /**\n * Add additional text to be displayed with the built-in help.\n *\n * Position is 'before' or 'after' to affect just this command,\n * and 'beforeAll' or 'afterAll' to affect this command and all its subcommands.\n */\n addHelpText(position: AddHelpTextPosition, text: string): this;\n addHelpText(position: AddHelpTextPosition, text: (context: AddHelpTextContext) => string): this;\n\n /**\n * Add a listener (callback) for when events occur. (Implemented using EventEmitter.)\n */\n on(event: string | symbol, listener: (...args: any[]) => void): this;\n}\n\nexport interface CommandOptions {\n hidden?: boolean;\n isDefault?: boolean;\n /** @deprecated since v7, replaced by hidden */\n noHelp?: boolean;\n}\nexport interface ExecutableCommandOptions extends CommandOptions {\n executableFile?: string;\n}\n\nexport interface ParseOptionsResult {\n operands: string[];\n unknown: string[];\n}\n\nexport function createCommand(name?: string): Command;\nexport function createOption(flags: string, description?: string): Option;\nexport function createArgument(name: string, description?: string): Argument;\n\nexport const program: Command;\n",
11714
11714
  "node_modules/inquirer/package.json": "{\n \"name\": \"inquirer\",\n \"version\": \"8.2.6\",\n \"description\": \"A collection of common interactive command line user interfaces.\",\n \"author\": \"Simon Boudrias <admin@simonboudrias.com>\",\n \"files\": [\n \"lib\",\n \"README.md\"\n ],\n \"main\": \"lib/inquirer.js\",\n \"keywords\": [\n \"command\",\n \"prompt\",\n \"stdin\",\n \"cli\",\n \"tty\",\n \"menu\"\n ],\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"devDependencies\": {\n \"chai\": \"^4.3.6\",\n \"chai-string\": \"^1.5.0\",\n \"chalk-pipe\": \"^5.1.1\",\n \"cmdify\": \"^0.0.4\",\n \"mocha\": \"^9.2.2\",\n \"mockery\": \"^2.1.0\",\n \"nyc\": \"^15.0.0\",\n \"sinon\": \"^13.0.2\",\n \"terminal-link\": \"^2.1.1\"\n },\n \"scripts\": {\n \"test\": \"nyc mocha test/**/* -r ./test/before\",\n \"posttest\": \"mkdir -p ../../coverage && nyc report --reporter=text-lcov > ../../coverage/nyc-report.lcov\",\n \"prepublishOnly\": \"cp ../../README.md .\",\n \"postpublish\": \"rm -f README.md\"\n },\n \"repository\": \"SBoudrias/Inquirer.js\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-escapes\": \"^4.2.1\",\n \"chalk\": \"^4.1.1\",\n \"cli-cursor\": \"^3.1.0\",\n \"cli-width\": \"^3.0.0\",\n \"external-editor\": \"^3.0.3\",\n \"figures\": \"^3.0.0\",\n \"lodash\": \"^4.17.21\",\n \"mute-stream\": \"0.0.8\",\n \"ora\": \"^5.4.1\",\n \"run-async\": \"^2.4.0\",\n \"rxjs\": \"^7.5.5\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\",\n \"through\": \"^2.3.6\",\n \"wrap-ansi\": \"^6.0.1\"\n },\n \"gitHead\": \"30ec0483de28849e56bd6b9b61daaabf8edea16f\"\n}\n",
11715
11715
  "node_modules/wrap-ansi/package.json": "{\n\t\"name\": \"wrap-ansi\",\n\t\"version\": \"6.2.0\",\n\t\"description\": \"Wordwrap a string with ANSI escape codes\",\n\t\"license\": \"MIT\",\n\t\"repository\": \"chalk/wrap-ansi\",\n\t\"author\": {\n\t\t\"name\": \"Sindre Sorhus\",\n\t\t\"email\": \"sindresorhus@gmail.com\",\n\t\t\"url\": \"sindresorhus.com\"\n\t},\n\t\"engines\": {\n\t\t\"node\": \">=8\"\n\t},\n\t\"scripts\": {\n\t\t\"test\": \"xo && nyc ava\"\n\t},\n\t\"files\": [\n\t\t\"index.js\"\n\t],\n\t\"keywords\": [\n\t\t\"wrap\",\n\t\t\"break\",\n\t\t\"wordwrap\",\n\t\t\"wordbreak\",\n\t\t\"linewrap\",\n\t\t\"ansi\",\n\t\t\"styles\",\n\t\t\"color\",\n\t\t\"colour\",\n\t\t\"colors\",\n\t\t\"terminal\",\n\t\t\"console\",\n\t\t\"cli\",\n\t\t\"string\",\n\t\t\"tty\",\n\t\t\"escape\",\n\t\t\"formatting\",\n\t\t\"rgb\",\n\t\t\"256\",\n\t\t\"shell\",\n\t\t\"xterm\",\n\t\t\"log\",\n\t\t\"logging\",\n\t\t\"command-line\",\n\t\t\"text\"\n\t],\n\t\"dependencies\": {\n\t\t\"ansi-styles\": \"^4.0.0\",\n\t\t\"string-width\": \"^4.1.0\",\n\t\t\"strip-ansi\": \"^6.0.0\"\n\t},\n\t\"devDependencies\": {\n\t\t\"ava\": \"^2.1.0\",\n\t\t\"chalk\": \"^2.4.2\",\n\t\t\"coveralls\": \"^3.0.3\",\n\t\t\"has-ansi\": \"^3.0.0\",\n\t\t\"nyc\": \"^14.1.1\",\n\t\t\"xo\": \"^0.24.0\"\n\t}\n}\n",
11716
- "node_modules/@nestia/migrate/package.json": "{\n \"name\": \"@nestia/migrate\",\n \"version\": \"7.0.0\",\n \"description\": \"Migration program from swagger to NestJS\",\n \"typings\": \"lib/index.d.ts\",\n \"main\": \"lib/index.js\",\n \"module\": \"lib/index.mjs\",\n \"bin\": {\n \"@nestia/migrate\": \"lib/executable/migrate.js\"\n },\n \"scripts\": {\n \"build\": \"rimraf lib && tsc && rollup -c\",\n \"bundle\": \"node src/executable/bundle.js\",\n \"dev\": \"rimraf lib && tsc --watch\",\n \"package:next\": \"npm publish --access public --tag next\",\n \"prepare\": \"ts-patch install && typia patch && npm run bundle\",\n \"test\": \"node lib/test\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"keywords\": [\n \"migration\",\n \"swagger\",\n \"openapi generator\",\n \"NestJS\",\n \"nestia\",\n \"SDK\",\n \"RPC\",\n \"Mockup Simulator\"\n ],\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"devDependencies\": {\n \"@nestia/benchmark\": \"^7.0.0\",\n \"@nestia/core\": \"^7.0.0\",\n \"@nestia/e2e\": \"^7.0.0\",\n \"@nestia/fetcher\": \"^7.0.0\",\n \"@nestia/sdk\": \"^7.0.0\",\n \"@nestjs/common\": \"^11.0.13\",\n \"@nestjs/core\": \"^11.0.13\",\n \"@nestjs/platform-express\": \"^11.0.13\",\n \"@nestjs/platform-fastify\": \"^11.0.13\",\n \"@rollup/plugin-terser\": \"^0.4.4\",\n \"@rollup/plugin-typescript\": \"^12.1.1\",\n \"@trivago/prettier-plugin-sort-imports\": \"^4.3.0\",\n \"@types/cli-progress\": \"^3.11.5\",\n \"@types/express\": \"^4.17.21\",\n \"@types/inquirer\": \"^9.0.7\",\n \"@types/multer\": \"^1.4.12\",\n \"@types/node\": \"^20.3.3\",\n \"@types/swagger-ui-express\": \"^4.1.6\",\n \"chalk\": \"4.1.2\",\n \"cli-progress\": \"^3.12.0\",\n \"dotenv\": \"^16.3.1\",\n \"dotenv-expand\": \"^10.0.0\",\n \"express\": \"^4.19.2\",\n \"multer\": \"^2.0.1\",\n \"rimraf\": \"^6.0.1\",\n \"rollup\": \"^4.24.3\",\n \"serialize-error\": \"^4.1.0\",\n \"source-map-support\": \"^0.5.21\",\n \"swagger-ui-express\": \"^5.0.0\",\n \"tgrid\": \"^1.1.0\",\n \"ts-node\": \"^10.9.1\",\n \"ts-patch\": \"^3.3.0\",\n \"typescript-transform-paths\": \"^3.5.2\"\n },\n \"dependencies\": {\n \"@samchon/openapi\": \"^4.3.3\",\n \"commander\": \"10.0.0\",\n \"inquirer\": \"8.2.5\",\n \"prettier\": \"^3.3.3\",\n \"prettier-plugin-jsdoc\": \"^1.3.2\",\n \"tstl\": \"^3.0.0\",\n \"typescript\": \"~5.8.3\",\n \"typia\": \"^9.3.1\"\n },\n \"files\": [\n \"lib\",\n \"src\",\n \"!lib/test\",\n \"!src/test\",\n \"package.json\",\n \"README.md\",\n \"LICENSE\"\n ]\n}",
11716
+ "node_modules/@nestia/migrate/package.json": "{\n \"name\": \"@nestia/migrate\",\n \"version\": \"7.0.3\",\n \"description\": \"Migration program from swagger to NestJS\",\n \"typings\": \"lib/index.d.ts\",\n \"main\": \"lib/index.js\",\n \"module\": \"lib/index.mjs\",\n \"bin\": {\n \"@nestia/migrate\": \"lib/executable/migrate.js\"\n },\n \"scripts\": {\n \"build\": \"rimraf lib && tsc && rollup -c\",\n \"bundle\": \"node src/executable/bundle.js\",\n \"dev\": \"rimraf lib && tsc --watch\",\n \"package:next\": \"npm publish --access public --tag next\",\n \"prepare\": \"ts-patch install && typia patch && npm run bundle\",\n \"test\": \"node lib/test\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"keywords\": [\n \"migration\",\n \"swagger\",\n \"openapi generator\",\n \"NestJS\",\n \"nestia\",\n \"SDK\",\n \"RPC\",\n \"Mockup Simulator\"\n ],\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"devDependencies\": {\n \"@nestia/benchmark\": \"^7.0.3\",\n \"@nestia/core\": \"^7.0.3\",\n \"@nestia/e2e\": \"^7.0.3\",\n \"@nestia/fetcher\": \"^7.0.3\",\n \"@nestia/sdk\": \"^7.0.3\",\n \"@nestjs/common\": \"^11.0.13\",\n \"@nestjs/core\": \"^11.0.13\",\n \"@nestjs/platform-express\": \"^11.0.13\",\n \"@nestjs/platform-fastify\": \"^11.0.13\",\n \"@rollup/plugin-terser\": \"^0.4.4\",\n \"@rollup/plugin-typescript\": \"^12.1.1\",\n \"@trivago/prettier-plugin-sort-imports\": \"^4.3.0\",\n \"@types/cli-progress\": \"^3.11.5\",\n \"@types/express\": \"^4.17.21\",\n \"@types/inquirer\": \"^9.0.7\",\n \"@types/multer\": \"^1.4.12\",\n \"@types/node\": \"^20.3.3\",\n \"@types/swagger-ui-express\": \"^4.1.6\",\n \"chalk\": \"4.1.2\",\n \"cli-progress\": \"^3.12.0\",\n \"dotenv\": \"^16.3.1\",\n \"dotenv-expand\": \"^10.0.0\",\n \"express\": \"^4.19.2\",\n \"multer\": \"^2.0.1\",\n \"rimraf\": \"^6.0.1\",\n \"rollup\": \"^4.24.3\",\n \"serialize-error\": \"^4.1.0\",\n \"source-map-support\": \"^0.5.21\",\n \"swagger-ui-express\": \"^5.0.0\",\n \"tgrid\": \"^1.1.0\",\n \"ts-node\": \"^10.9.1\",\n \"ts-patch\": \"^3.3.0\",\n \"typescript-transform-paths\": \"^3.5.2\"\n },\n \"dependencies\": {\n \"@samchon/openapi\": \"^4.3.3\",\n \"commander\": \"10.0.0\",\n \"inquirer\": \"8.2.5\",\n \"prettier\": \"^3.3.3\",\n \"prettier-plugin-jsdoc\": \"^1.3.2\",\n \"tstl\": \"^3.0.0\",\n \"typescript\": \"~5.8.3\",\n \"typia\": \"^9.3.1\"\n },\n \"files\": [\n \"lib\",\n \"src\",\n \"!lib/test\",\n \"!src/test\",\n \"package.json\",\n \"README.md\",\n \"LICENSE\"\n ]\n}",
11717
11717
  "node_modules/@nestia/migrate/node_modules/commander/package.json": "{\n \"name\": \"commander\",\n \"version\": \"10.0.0\",\n \"description\": \"the complete solution for node.js command-line programs\",\n \"keywords\": [\n \"commander\",\n \"command\",\n \"option\",\n \"parser\",\n \"cli\",\n \"argument\",\n \"args\",\n \"argv\"\n ],\n \"author\": \"TJ Holowaychuk <tj@vision-media.ca>\",\n \"license\": \"MIT\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/tj/commander.js.git\"\n },\n \"scripts\": {\n \"lint\": \"npm run lint:javascript && npm run lint:typescript\",\n \"lint:javascript\": \"eslint index.js esm.mjs \\\"lib/*.js\\\" \\\"tests/**/*.js\\\"\",\n \"lint:typescript\": \"eslint typings/*.ts tests/*.ts\",\n \"test\": \"jest && npm run test-typings\",\n \"test-esm\": \"node ./tests/esm-imports-test.mjs\",\n \"test-typings\": \"tsd\",\n \"typescript-checkJS\": \"tsc --allowJS --checkJS index.js lib/*.js --noEmit\",\n \"test-all\": \"npm run test && npm run lint && npm run typescript-checkJS && npm run test-esm\"\n },\n \"files\": [\n \"index.js\",\n \"lib/*.js\",\n \"esm.mjs\",\n \"typings/index.d.ts\",\n \"package-support.json\"\n ],\n \"type\": \"commonjs\",\n \"main\": \"./index.js\",\n \"exports\": {\n \".\": {\n \"types\": \"./typings/index.d.ts\",\n \"require\": \"./index.js\",\n \"import\": \"./esm.mjs\"\n },\n \"./esm.mjs\": \"./esm.mjs\"\n },\n \"devDependencies\": {\n \"@types/jest\": \"^29.2.4\",\n \"@types/node\": \"^18.11.18\",\n \"@typescript-eslint/eslint-plugin\": \"^5.47.1\",\n \"@typescript-eslint/parser\": \"^5.47.1\",\n \"eslint\": \"^8.30.0\",\n \"eslint-config-standard\": \"^17.0.0\",\n \"eslint-config-standard-with-typescript\": \"^24.0.0\",\n \"eslint-plugin-import\": \"^2.26.0\",\n \"eslint-plugin-jest\": \"^27.1.7\",\n \"eslint-plugin-n\": \"^15.6.0\",\n \"eslint-plugin-promise\": \"^6.1.1\",\n \"jest\": \"^29.3.1\",\n \"ts-jest\": \"^29.0.3\",\n \"tsd\": \"^0.25.0\",\n \"typescript\": \"^4.9.4\"\n },\n \"types\": \"typings/index.d.ts\",\n \"jest\": {\n \"testEnvironment\": \"node\",\n \"collectCoverage\": true,\n \"transform\": {\n \"^.+\\\\.tsx?$\": \"ts-jest\"\n },\n \"testPathIgnorePatterns\": [\n \"/node_modules/\"\n ]\n },\n \"engines\": {\n \"node\": \">=14\"\n },\n \"support\": true\n}\n",
11718
11718
  "node_modules/@nestia/migrate/node_modules/commander/typings/index.d.ts": "// Type definitions for commander\n// Original definitions by: Alan Agius <https://github.com/alan-agius4>, Marcelo Dezem <https://github.com/mdezem>, vvakame <https://github.com/vvakame>, Jules Randolph <https://github.com/sveinburne>\n\n// Using method rather than property for method-signature-style, to document method overloads separately. Allow either.\n/* eslint-disable @typescript-eslint/method-signature-style */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport class CommanderError extends Error {\n code: string;\n exitCode: number;\n message: string;\n nestedError?: string;\n\n /**\n * Constructs the CommanderError class\n * @param exitCode - suggested exit code which could be used with process.exit\n * @param code - an id string representing the error\n * @param message - human-readable description of the error\n * @constructor\n */\n constructor(exitCode: number, code: string, message: string);\n}\n\nexport class InvalidArgumentError extends CommanderError {\n /**\n * Constructs the InvalidArgumentError class\n * @param message - explanation of why argument is invalid\n * @constructor\n */\n constructor(message: string);\n}\nexport { InvalidArgumentError as InvalidOptionArgumentError }; // deprecated old name\n\nexport interface ErrorOptions { // optional parameter for error()\n /** an id string representing the error */\n code?: string;\n /** suggested exit code which could be used with process.exit */\n exitCode?: number;\n}\n\nexport class Argument {\n description: string;\n required: boolean;\n variadic: boolean;\n\n /**\n * Initialize a new command argument with the given name and description.\n * The default is that the argument is required, and you can explicitly\n * indicate this with <> around the name. Put [] around the name for an optional argument.\n */\n constructor(arg: string, description?: string);\n\n /**\n * Return argument name.\n */\n name(): string;\n\n /**\n * Set the default value, and optionally supply the description to be displayed in the help.\n */\n default(value: unknown, description?: string): this;\n\n /**\n * Set the custom handler for processing CLI command arguments into argument values.\n */\n argParser<T>(fn: (value: string, previous: T) => T): this;\n\n /**\n * Only allow argument value to be one of choices.\n */\n choices(values: readonly string[]): this;\n\n /**\n * Make argument required.\n */\n argRequired(): this;\n\n /**\n * Make argument optional.\n */\n argOptional(): this;\n}\n\nexport class Option {\n flags: string;\n description: string;\n\n required: boolean; // A value must be supplied when the option is specified.\n optional: boolean; // A value is optional when the option is specified.\n variadic: boolean;\n mandatory: boolean; // The option must have a value after parsing, which usually means it must be specified on command line.\n optionFlags: string;\n short?: string;\n long?: string;\n negate: boolean;\n defaultValue?: any;\n defaultValueDescription?: string;\n parseArg?: <T>(value: string, previous: T) => T;\n hidden: boolean;\n argChoices?: string[];\n\n constructor(flags: string, description?: string);\n\n /**\n * Set the default value, and optionally supply the description to be displayed in the help.\n */\n default(value: unknown, description?: string): this;\n\n /**\n * Preset to use when option used without option-argument, especially optional but also boolean and negated.\n * The custom processing (parseArg) is called.\n *\n * @example\n * ```ts\n * new Option('--color').default('GREYSCALE').preset('RGB');\n * new Option('--donate [amount]').preset('20').argParser(parseFloat);\n * ```\n */\n preset(arg: unknown): this;\n\n /**\n * Add option name(s) that conflict with this option.\n * An error will be displayed if conflicting options are found during parsing.\n *\n * @example\n * ```ts\n * new Option('--rgb').conflicts('cmyk');\n * new Option('--js').conflicts(['ts', 'jsx']);\n * ```\n */\n conflicts(names: string | string[]): this;\n\n /**\n * Specify implied option values for when this option is set and the implied options are not.\n *\n * The custom processing (parseArg) is not called on the implied values.\n *\n * @example\n * program\n * .addOption(new Option('--log', 'write logging information to file'))\n * .addOption(new Option('--trace', 'log extra details').implies({ log: 'trace.txt' }));\n */\n implies(optionValues: OptionValues): this;\n\n /**\n * Set environment variable to check for option value.\n *\n * An environment variables is only used if when processed the current option value is\n * undefined, or the source of the current value is 'default' or 'config' or 'env'.\n */\n env(name: string): this;\n\n /**\n * Calculate the full description, including defaultValue etc.\n */\n fullDescription(): string;\n\n /**\n * Set the custom handler for processing CLI option arguments into option values.\n */\n argParser<T>(fn: (value: string, previous: T) => T): this;\n\n /**\n * Whether the option is mandatory and must have a value after parsing.\n */\n makeOptionMandatory(mandatory?: boolean): this;\n\n /**\n * Hide option in help.\n */\n hideHelp(hide?: boolean): this;\n\n /**\n * Only allow option value to be one of choices.\n */\n choices(values: readonly string[]): this;\n\n /**\n * Return option name.\n */\n name(): string;\n\n /**\n * Return option name, in a camelcase format that can be used\n * as a object attribute key.\n */\n attributeName(): string;\n\n /**\n * Return whether a boolean option.\n *\n * Options are one of boolean, negated, required argument, or optional argument.\n */\n isBoolean(): boolean;\n}\n\nexport class Help {\n /** output helpWidth, long lines are wrapped to fit */\n helpWidth?: number;\n sortSubcommands: boolean;\n sortOptions: boolean;\n showGlobalOptions: boolean;\n\n constructor();\n\n /** Get the command term to show in the list of subcommands. */\n subcommandTerm(cmd: Command): string;\n /** Get the command summary to show in the list of subcommands. */\n subcommandDescription(cmd: Command): string;\n /** Get the option term to show in the list of options. */\n optionTerm(option: Option): string;\n /** Get the option description to show in the list of options. */\n optionDescription(option: Option): string;\n /** Get the argument term to show in the list of arguments. */\n argumentTerm(argument: Argument): string;\n /** Get the argument description to show in the list of arguments. */\n argumentDescription(argument: Argument): string;\n\n /** Get the command usage to be displayed at the top of the built-in help. */\n commandUsage(cmd: Command): string;\n /** Get the description for the command. */\n commandDescription(cmd: Command): string;\n\n /** Get an array of the visible subcommands. Includes a placeholder for the implicit help command, if there is one. */\n visibleCommands(cmd: Command): Command[];\n /** Get an array of the visible options. Includes a placeholder for the implicit help option, if there is one. */\n visibleOptions(cmd: Command): Option[];\n /** Get an array of the visible global options. (Not including help.) */\n visibleGlobalOptions(cmd: Command): Option[];\n /** Get an array of the arguments which have descriptions. */\n visibleArguments(cmd: Command): Argument[];\n\n /** Get the longest command term length. */\n longestSubcommandTermLength(cmd: Command, helper: Help): number;\n /** Get the longest option term length. */\n longestOptionTermLength(cmd: Command, helper: Help): number;\n /** Get the longest global option term length. */\n longestGlobalOptionTermLength(cmd: Command, helper: Help): number;\n /** Get the longest argument term length. */\n longestArgumentTermLength(cmd: Command, helper: Help): number;\n /** Calculate the pad width from the maximum term length. */\n padWidth(cmd: Command, helper: Help): number;\n\n /**\n * Wrap the given string to width characters per line, with lines after the first indented.\n * Do not wrap if insufficient room for wrapping (minColumnWidth), or string is manually formatted.\n */\n wrap(str: string, width: number, indent: number, minColumnWidth?: number): string;\n\n /** Generate the built-in help text. */\n formatHelp(cmd: Command, helper: Help): string;\n}\nexport type HelpConfiguration = Partial<Help>;\n\nexport interface ParseOptions {\n from: 'node' | 'electron' | 'user';\n}\nexport interface HelpContext { // optional parameter for .help() and .outputHelp()\n error: boolean;\n}\nexport interface AddHelpTextContext { // passed to text function used with .addHelpText()\n error: boolean;\n command: Command;\n}\nexport interface OutputConfiguration {\n writeOut?(str: string): void;\n writeErr?(str: string): void;\n getOutHelpWidth?(): number;\n getErrHelpWidth?(): number;\n outputError?(str: string, write: (str: string) => void): void;\n\n}\n\nexport type AddHelpTextPosition = 'beforeAll' | 'before' | 'after' | 'afterAll';\nexport type HookEvent = 'preSubcommand' | 'preAction' | 'postAction';\nexport type OptionValueSource = 'default' | 'config' | 'env' | 'cli' | 'implied';\n\nexport type OptionValues = Record<string, any>;\n\nexport class Command {\n args: string[];\n processedArgs: any[];\n readonly commands: readonly Command[];\n readonly options: readonly Option[];\n parent: Command | null;\n\n constructor(name?: string);\n\n /**\n * Set the program version to `str`.\n *\n * This method auto-registers the \"-V, --version\" flag\n * which will print the version number when passed.\n *\n * You can optionally supply the flags and description to override the defaults.\n */\n version(str: string, flags?: string, description?: string): this;\n\n /**\n * Define a command, implemented using an action handler.\n *\n * @remarks\n * The command description is supplied using `.description`, not as a parameter to `.command`.\n *\n * @example\n * ```ts\n * program\n * .command('clone <source> [destination]')\n * .description('clone a repository into a newly created directory')\n * .action((source, destination) => {\n * console.log('clone command called');\n * });\n * ```\n *\n * @param nameAndArgs - command name and arguments, args are `<required>` or `[optional]` and last may also be `variadic...`\n * @param opts - configuration options\n * @returns new command\n */\n command(nameAndArgs: string, opts?: CommandOptions): ReturnType<this['createCommand']>;\n /**\n * Define a command, implemented in a separate executable file.\n *\n * @remarks\n * The command description is supplied as the second parameter to `.command`.\n *\n * @example\n * ```ts\n * program\n * .command('start <service>', 'start named service')\n * .command('stop [service]', 'stop named service, or all if no name supplied');\n * ```\n *\n * @param nameAndArgs - command name and arguments, args are `<required>` or `[optional]` and last may also be `variadic...`\n * @param description - description of executable command\n * @param opts - configuration options\n * @returns `this` command for chaining\n */\n command(nameAndArgs: string, description: string, opts?: ExecutableCommandOptions): this;\n\n /**\n * Factory routine to create a new unattached command.\n *\n * See .command() for creating an attached subcommand, which uses this routine to\n * create the command. You can override createCommand to customise subcommands.\n */\n createCommand(name?: string): Command;\n\n /**\n * Add a prepared subcommand.\n *\n * See .command() for creating an attached subcommand which inherits settings from its parent.\n *\n * @returns `this` command for chaining\n */\n addCommand(cmd: Command, opts?: CommandOptions): this;\n\n /**\n * Factory routine to create a new unattached argument.\n *\n * See .argument() for creating an attached argument, which uses this routine to\n * create the argument. You can override createArgument to return a custom argument.\n */\n createArgument(name: string, description?: string): Argument;\n\n /**\n * Define argument syntax for command.\n *\n * The default is that the argument is required, and you can explicitly\n * indicate this with <> around the name. Put [] around the name for an optional argument.\n *\n * @example\n * ```\n * program.argument('<input-file>');\n * program.argument('[output-file]');\n * ```\n *\n * @returns `this` command for chaining\n */\n argument<T>(flags: string, description: string, fn: (value: string, previous: T) => T, defaultValue?: T): this;\n argument(name: string, description?: string, defaultValue?: unknown): this;\n\n /**\n * Define argument syntax for command, adding a prepared argument.\n *\n * @returns `this` command for chaining\n */\n addArgument(arg: Argument): this;\n\n /**\n * Define argument syntax for command, adding multiple at once (without descriptions).\n *\n * See also .argument().\n *\n * @example\n * ```\n * program.arguments('<cmd> [env]');\n * ```\n *\n * @returns `this` command for chaining\n */\n arguments(names: string): this;\n\n /**\n * Override default decision whether to add implicit help command.\n *\n * @example\n * ```\n * addHelpCommand() // force on\n * addHelpCommand(false); // force off\n * addHelpCommand('help [cmd]', 'display help for [cmd]'); // force on with custom details\n * ```\n *\n * @returns `this` command for chaining\n */\n addHelpCommand(enableOrNameAndArgs?: string | boolean, description?: string): this;\n\n /**\n * Add hook for life cycle event.\n */\n hook(event: HookEvent, listener: (thisCommand: Command, actionCommand: Command) => void | Promise<void>): this;\n\n /**\n * Register callback to use as replacement for calling process.exit.\n */\n exitOverride(callback?: (err: CommanderError) => never | void): this;\n\n /**\n * Display error message and exit (or call exitOverride).\n */\n error(message: string, errorOptions?: ErrorOptions): never;\n\n /**\n * You can customise the help with a subclass of Help by overriding createHelp,\n * or by overriding Help properties using configureHelp().\n */\n createHelp(): Help;\n\n /**\n * You can customise the help by overriding Help properties using configureHelp(),\n * or with a subclass of Help by overriding createHelp().\n */\n configureHelp(configuration: HelpConfiguration): this;\n /** Get configuration */\n configureHelp(): HelpConfiguration;\n\n /**\n * The default output goes to stdout and stderr. You can customise this for special\n * applications. You can also customise the display of errors by overriding outputError.\n *\n * The configuration properties are all functions:\n * ```\n * // functions to change where being written, stdout and stderr\n * writeOut(str)\n * writeErr(str)\n * // matching functions to specify width for wrapping help\n * getOutHelpWidth()\n * getErrHelpWidth()\n * // functions based on what is being written out\n * outputError(str, write) // used for displaying errors, and not used for displaying help\n * ```\n */\n configureOutput(configuration: OutputConfiguration): this;\n /** Get configuration */\n configureOutput(): OutputConfiguration;\n\n /**\n * Copy settings that are useful to have in common across root command and subcommands.\n *\n * (Used internally when adding a command using `.command()` so subcommands inherit parent settings.)\n */\n copyInheritedSettings(sourceCommand: Command): this;\n\n /**\n * Display the help or a custom message after an error occurs.\n */\n showHelpAfterError(displayHelp?: boolean | string): this;\n\n /**\n * Display suggestion of similar commands for unknown commands, or options for unknown options.\n */\n showSuggestionAfterError(displaySuggestion?: boolean): this;\n\n /**\n * Register callback `fn` for the command.\n *\n * @example\n * ```\n * program\n * .command('serve')\n * .description('start service')\n * .action(function() {\n * // do work here\n * });\n * ```\n *\n * @returns `this` command for chaining\n */\n action(fn: (...args: any[]) => void | Promise<void>): this;\n\n /**\n * Define option with `flags`, `description` and optional\n * coercion `fn`.\n *\n * The `flags` string contains the short and/or long flags,\n * separated by comma, a pipe or space. The following are all valid\n * all will output this way when `--help` is used.\n *\n * \"-p, --pepper\"\n * \"-p|--pepper\"\n * \"-p --pepper\"\n *\n * @example\n * ```\n * // simple boolean defaulting to false\n * program.option('-p, --pepper', 'add pepper');\n *\n * --pepper\n * program.pepper\n * // => Boolean\n *\n * // simple boolean defaulting to true\n * program.option('-C, --no-cheese', 'remove cheese');\n *\n * program.cheese\n * // => true\n *\n * --no-cheese\n * program.cheese\n * // => false\n *\n * // required argument\n * program.option('-C, --chdir <path>', 'change the working directory');\n *\n * --chdir /tmp\n * program.chdir\n * // => \"/tmp\"\n *\n * // optional argument\n * program.option('-c, --cheese [type]', 'add cheese [marble]');\n * ```\n *\n * @returns `this` command for chaining\n */\n option(flags: string, description?: string, defaultValue?: string | boolean | string[]): this;\n option<T>(flags: string, description: string, fn: (value: string, previous: T) => T, defaultValue?: T): this;\n /** @deprecated since v7, instead use choices or a custom function */\n option(flags: string, description: string, regexp: RegExp, defaultValue?: string | boolean | string[]): this;\n\n /**\n * Define a required option, which must have a value after parsing. This usually means\n * the option must be specified on the command line. (Otherwise the same as .option().)\n *\n * The `flags` string contains the short and/or long flags, separated by comma, a pipe or space.\n */\n requiredOption(flags: string, description?: string, defaultValue?: string | boolean | string[]): this;\n requiredOption<T>(flags: string, description: string, fn: (value: string, previous: T) => T, defaultValue?: T): this;\n /** @deprecated since v7, instead use choices or a custom function */\n requiredOption(flags: string, description: string, regexp: RegExp, defaultValue?: string | boolean | string[]): this;\n\n /**\n * Factory routine to create a new unattached option.\n *\n * See .option() for creating an attached option, which uses this routine to\n * create the option. You can override createOption to return a custom option.\n */\n\n createOption(flags: string, description?: string): Option;\n\n /**\n * Add a prepared Option.\n *\n * See .option() and .requiredOption() for creating and attaching an option in a single call.\n */\n addOption(option: Option): this;\n\n /**\n * Whether to store option values as properties on command object,\n * or store separately (specify false). In both cases the option values can be accessed using .opts().\n *\n * @returns `this` command for chaining\n */\n storeOptionsAsProperties<T extends OptionValues>(): this & T;\n storeOptionsAsProperties<T extends OptionValues>(storeAsProperties: true): this & T;\n storeOptionsAsProperties(storeAsProperties?: boolean): this;\n\n /**\n * Retrieve option value.\n */\n getOptionValue(key: string): any;\n\n /**\n * Store option value.\n */\n setOptionValue(key: string, value: unknown): this;\n\n /**\n * Store option value and where the value came from.\n */\n setOptionValueWithSource(key: string, value: unknown, source: OptionValueSource): this;\n\n /**\n * Get source of option value.\n */\n getOptionValueSource(key: string): OptionValueSource | undefined;\n\n /**\n * Get source of option value. See also .optsWithGlobals().\n */\n getOptionValueSourceWithGlobals(key: string): OptionValueSource | undefined;\n\n /**\n * Alter parsing of short flags with optional values.\n *\n * @example\n * ```\n * // for `.option('-f,--flag [value]'):\n * .combineFlagAndOptionalValue(true) // `-f80` is treated like `--flag=80`, this is the default behaviour\n * .combineFlagAndOptionalValue(false) // `-fb` is treated like `-f -b`\n * ```\n *\n * @returns `this` command for chaining\n */\n combineFlagAndOptionalValue(combine?: boolean): this;\n\n /**\n * Allow unknown options on the command line.\n *\n * @returns `this` command for chaining\n */\n allowUnknownOption(allowUnknown?: boolean): this;\n\n /**\n * Allow excess command-arguments on the command line. Pass false to make excess arguments an error.\n *\n * @returns `this` command for chaining\n */\n allowExcessArguments(allowExcess?: boolean): this;\n\n /**\n * Enable positional options. Positional means global options are specified before subcommands which lets\n * subcommands reuse the same option names, and also enables subcommands to turn on passThroughOptions.\n *\n * The default behaviour is non-positional and global options may appear anywhere on the command line.\n *\n * @returns `this` command for chaining\n */\n enablePositionalOptions(positional?: boolean): this;\n\n /**\n * Pass through options that come after command-arguments rather than treat them as command-options,\n * so actual command-options come before command-arguments. Turning this on for a subcommand requires\n * positional options to have been enabled on the program (parent commands).\n *\n * The default behaviour is non-positional and options may appear before or after command-arguments.\n *\n * @returns `this` command for chaining\n */\n passThroughOptions(passThrough?: boolean): this;\n\n /**\n * Parse `argv`, setting options and invoking commands when defined.\n *\n * The default expectation is that the arguments are from node and have the application as argv[0]\n * and the script being run in argv[1], with user parameters after that.\n *\n * @example\n * ```\n * program.parse(process.argv);\n * program.parse(); // implicitly use process.argv and auto-detect node vs electron conventions\n * program.parse(my-args, { from: 'user' }); // just user supplied arguments, nothing special about argv[0]\n * ```\n *\n * @returns `this` command for chaining\n */\n parse(argv?: readonly string[], options?: ParseOptions): this;\n\n /**\n * Parse `argv`, setting options and invoking commands when defined.\n *\n * Use parseAsync instead of parse if any of your action handlers are async. Returns a Promise.\n *\n * The default expectation is that the arguments are from node and have the application as argv[0]\n * and the script being run in argv[1], with user parameters after that.\n *\n * @example\n * ```\n * program.parseAsync(process.argv);\n * program.parseAsync(); // implicitly use process.argv and auto-detect node vs electron conventions\n * program.parseAsync(my-args, { from: 'user' }); // just user supplied arguments, nothing special about argv[0]\n * ```\n *\n * @returns Promise\n */\n parseAsync(argv?: readonly string[], options?: ParseOptions): Promise<this>;\n\n /**\n * Parse options from `argv` removing known options,\n * and return argv split into operands and unknown arguments.\n *\n * argv => operands, unknown\n * --known kkk op => [op], []\n * op --known kkk => [op], []\n * sub --unknown uuu op => [sub], [--unknown uuu op]\n * sub -- --unknown uuu op => [sub --unknown uuu op], []\n */\n parseOptions(argv: string[]): ParseOptionsResult;\n\n /**\n * Return an object containing local option values as key-value pairs\n */\n opts<T extends OptionValues>(): T;\n\n /**\n * Return an object containing merged local and global option values as key-value pairs.\n */\n optsWithGlobals<T extends OptionValues>(): T;\n\n /**\n * Set the description.\n *\n * @returns `this` command for chaining\n */\n\n description(str: string): this;\n /** @deprecated since v8, instead use .argument to add command argument with description */\n description(str: string, argsDescription: Record<string, string>): this;\n /**\n * Get the description.\n */\n description(): string;\n\n /**\n * Set the summary. Used when listed as subcommand of parent.\n *\n * @returns `this` command for chaining\n */\n\n summary(str: string): this;\n /**\n * Get the summary.\n */\n summary(): string;\n\n /**\n * Set an alias for the command.\n *\n * You may call more than once to add multiple aliases. Only the first alias is shown in the auto-generated help.\n *\n * @returns `this` command for chaining\n */\n alias(alias: string): this;\n /**\n * Get alias for the command.\n */\n alias(): string;\n\n /**\n * Set aliases for the command.\n *\n * Only the first alias is shown in the auto-generated help.\n *\n * @returns `this` command for chaining\n */\n aliases(aliases: readonly string[]): this;\n /**\n * Get aliases for the command.\n */\n aliases(): string[];\n\n /**\n * Set the command usage.\n *\n * @returns `this` command for chaining\n */\n usage(str: string): this;\n /**\n * Get the command usage.\n */\n usage(): string;\n\n /**\n * Set the name of the command.\n *\n * @returns `this` command for chaining\n */\n name(str: string): this;\n /**\n * Get the name of the command.\n */\n name(): string;\n\n /**\n * Set the name of the command from script filename, such as process.argv[1],\n * or require.main.filename, or __filename.\n *\n * (Used internally and public although not documented in README.)\n *\n * @example\n * ```ts\n * program.nameFromFilename(require.main.filename);\n * ```\n *\n * @returns `this` command for chaining\n */\n nameFromFilename(filename: string): this;\n\n /**\n * Set the directory for searching for executable subcommands of this command.\n *\n * @example\n * ```ts\n * program.executableDir(__dirname);\n * // or\n * program.executableDir('subcommands');\n * ```\n *\n * @returns `this` command for chaining\n */\n executableDir(path: string): this;\n /**\n * Get the executable search directory.\n */\n executableDir(): string;\n\n /**\n * Output help information for this command.\n *\n * Outputs built-in help, and custom text added using `.addHelpText()`.\n *\n */\n outputHelp(context?: HelpContext): void;\n /** @deprecated since v7 */\n outputHelp(cb?: (str: string) => string): void;\n\n /**\n * Return command help documentation.\n */\n helpInformation(context?: HelpContext): string;\n\n /**\n * You can pass in flags and a description to override the help\n * flags and help description for your command. Pass in false\n * to disable the built-in help option.\n */\n helpOption(flags?: string | boolean, description?: string): this;\n\n /**\n * Output help information and exit.\n *\n * Outputs built-in help, and custom text added using `.addHelpText()`.\n */\n help(context?: HelpContext): never;\n /** @deprecated since v7 */\n help(cb?: (str: string) => string): never;\n\n /**\n * Add additional text to be displayed with the built-in help.\n *\n * Position is 'before' or 'after' to affect just this command,\n * and 'beforeAll' or 'afterAll' to affect this command and all its subcommands.\n */\n addHelpText(position: AddHelpTextPosition, text: string): this;\n addHelpText(position: AddHelpTextPosition, text: (context: AddHelpTextContext) => string): this;\n\n /**\n * Add a listener (callback) for when events occur. (Implemented using EventEmitter.)\n */\n on(event: string | symbol, listener: (...args: any[]) => void): this;\n}\n\nexport interface CommandOptions {\n hidden?: boolean;\n isDefault?: boolean;\n /** @deprecated since v7, replaced by hidden */\n noHelp?: boolean;\n}\nexport interface ExecutableCommandOptions extends CommandOptions {\n executableFile?: string;\n}\n\nexport interface ParseOptionsResult {\n operands: string[];\n unknown: string[];\n}\n\nexport function createCommand(name?: string): Command;\nexport function createOption(flags: string, description?: string): Option;\nexport function createArgument(name: string, description?: string): Argument;\n\nexport const program: Command;\n",
11719
11719
  "node_modules/@nestia/migrate/node_modules/inquirer/package.json": "{\n \"name\": \"inquirer\",\n \"version\": \"8.2.5\",\n \"description\": \"A collection of common interactive command line user interfaces.\",\n \"author\": \"Simon Boudrias <admin@simonboudrias.com>\",\n \"files\": [\n \"lib\",\n \"README.md\"\n ],\n \"main\": \"lib/inquirer.js\",\n \"keywords\": [\n \"command\",\n \"prompt\",\n \"stdin\",\n \"cli\",\n \"tty\",\n \"menu\"\n ],\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"devDependencies\": {\n \"chai\": \"^4.3.6\",\n \"chai-string\": \"^1.5.0\",\n \"chalk-pipe\": \"^5.1.1\",\n \"cmdify\": \"^0.0.4\",\n \"mocha\": \"^9.2.2\",\n \"mockery\": \"^2.1.0\",\n \"nyc\": \"^15.0.0\",\n \"sinon\": \"^13.0.2\",\n \"terminal-link\": \"^2.1.1\"\n },\n \"scripts\": {\n \"test\": \"nyc mocha test/**/* -r ./test/before\",\n \"posttest\": \"nyc report --reporter=text-lcov > ../../coverage/nyc-report.lcov\",\n \"prepublishOnly\": \"cp ../../README.md .\",\n \"postpublish\": \"rm -f README.md\"\n },\n \"repository\": \"SBoudrias/Inquirer.js\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-escapes\": \"^4.2.1\",\n \"chalk\": \"^4.1.1\",\n \"cli-cursor\": \"^3.1.0\",\n \"cli-width\": \"^3.0.0\",\n \"external-editor\": \"^3.0.3\",\n \"figures\": \"^3.0.0\",\n \"lodash\": \"^4.17.21\",\n \"mute-stream\": \"0.0.8\",\n \"ora\": \"^5.4.1\",\n \"run-async\": \"^2.4.0\",\n \"rxjs\": \"^7.5.5\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\",\n \"through\": \"^2.3.6\",\n \"wrap-ansi\": \"^7.0.0\"\n },\n \"gitHead\": \"7a2ade6cf6a3d987f4138c0426493460f6b2515f\"\n}\n",
@@ -11815,7 +11815,7 @@
11815
11815
  "node_modules/@nestia/sdk/lib/validators/HttpQueryValidator.d.ts": "import { MetadataFactory } from \"typia/lib/factories/MetadataFactory\";\nimport { Metadata } from \"typia/lib/schemas/metadata/Metadata\";\nexport declare namespace HttpQueryValidator {\n const validate: (meta: Metadata, explore: MetadataFactory.IExplore) => string[];\n}\n",
11816
11816
  "node_modules/path-to-regexp/dist/index.d.ts": "/**\n * Encode a string into another string.\n */\nexport type Encode = (value: string) => string;\n/**\n * Decode a string into another string.\n */\nexport type Decode = (value: string) => string;\nexport interface ParseOptions {\n /**\n * A function for encoding input strings.\n */\n encodePath?: Encode;\n}\nexport interface PathToRegexpOptions {\n /**\n * Matches the path completely without trailing characters. (default: `true`)\n */\n end?: boolean;\n /**\n * Allows optional trailing delimiter to match. (default: `true`)\n */\n trailing?: boolean;\n /**\n * Match will be case sensitive. (default: `false`)\n */\n sensitive?: boolean;\n /**\n * The default delimiter for segments. (default: `'/'`)\n */\n delimiter?: string;\n}\nexport interface MatchOptions extends PathToRegexpOptions {\n /**\n * Function for decoding strings for params, or `false` to disable entirely. (default: `decodeURIComponent`)\n */\n decode?: Decode | false;\n}\nexport interface CompileOptions {\n /**\n * Function for encoding input strings for output into the path, or `false` to disable entirely. (default: `encodeURIComponent`)\n */\n encode?: Encode | false;\n /**\n * The default delimiter for segments. (default: `'/'`)\n */\n delimiter?: string;\n}\n/**\n * Plain text.\n */\nexport interface Text {\n type: \"text\";\n value: string;\n}\n/**\n * A parameter designed to match arbitrary text within a segment.\n */\nexport interface Parameter {\n type: \"param\";\n name: string;\n}\n/**\n * A wildcard parameter designed to match multiple segments.\n */\nexport interface Wildcard {\n type: \"wildcard\";\n name: string;\n}\n/**\n * A set of possible tokens to expand when matching.\n */\nexport interface Group {\n type: \"group\";\n tokens: Token[];\n}\n/**\n * A token that corresponds with a regexp capture.\n */\nexport type Key = Parameter | Wildcard;\n/**\n * A sequence of `path-to-regexp` keys that match capturing groups.\n */\nexport type Keys = Array<Key>;\n/**\n * A sequence of path match characters.\n */\nexport type Token = Text | Parameter | Wildcard | Group;\n/**\n * Tokenized path instance.\n */\nexport declare class TokenData {\n readonly tokens: Token[];\n constructor(tokens: Token[]);\n}\n/**\n * Parse a string for the raw tokens.\n */\nexport declare function parse(str: string, options?: ParseOptions): TokenData;\n/**\n * Compile a string to a template function for the path.\n */\nexport declare function compile<P extends ParamData = ParamData>(path: Path, options?: CompileOptions & ParseOptions): (data?: P) => string;\nexport type ParamData = Partial<Record<string, string | string[]>>;\nexport type PathFunction<P extends ParamData> = (data?: P) => string;\n/**\n * A match result contains data about the path match.\n */\nexport interface MatchResult<P extends ParamData> {\n path: string;\n params: P;\n}\n/**\n * A match is either `false` (no match) or a match result.\n */\nexport type Match<P extends ParamData> = false | MatchResult<P>;\n/**\n * The match function takes a string and returns whether it matched the path.\n */\nexport type MatchFunction<P extends ParamData> = (path: string) => Match<P>;\n/**\n * Supported path types.\n */\nexport type Path = string | TokenData;\n/**\n * Transform a path into a match function.\n */\nexport declare function match<P extends ParamData>(path: Path | Path[], options?: MatchOptions & ParseOptions): MatchFunction<P>;\nexport declare function pathToRegexp(path: Path | Path[], options?: PathToRegexpOptions & ParseOptions): {\n regexp: RegExp;\n keys: Keys;\n};\n/**\n * Stringify token data into a path string.\n */\nexport declare function stringify(data: TokenData): string;\n",
11817
11817
  "node_modules/path-to-regexp/package.json": "{\n \"name\": \"path-to-regexp\",\n \"version\": \"8.2.0\",\n \"description\": \"Express style path to RegExp utility\",\n \"keywords\": [\n \"express\",\n \"regexp\",\n \"route\",\n \"routing\"\n ],\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/pillarjs/path-to-regexp.git\"\n },\n \"license\": \"MIT\",\n \"exports\": \"./dist/index.js\",\n \"main\": \"dist/index.js\",\n \"typings\": \"dist/index.d.ts\",\n \"files\": [\n \"dist/\"\n ],\n \"scripts\": {\n \"bench\": \"vitest bench\",\n \"build\": \"ts-scripts build\",\n \"format\": \"ts-scripts format\",\n \"lint\": \"ts-scripts lint\",\n \"prepare\": \"ts-scripts install && npm run build\",\n \"size\": \"size-limit\",\n \"specs\": \"ts-scripts specs\",\n \"test\": \"ts-scripts test && npm run size\"\n },\n \"devDependencies\": {\n \"@borderless/ts-scripts\": \"^0.15.0\",\n \"@size-limit/preset-small-lib\": \"^11.1.2\",\n \"@types/node\": \"^22.7.2\",\n \"@types/semver\": \"^7.3.1\",\n \"@vitest/coverage-v8\": \"^2.1.1\",\n \"recheck\": \"^4.4.5\",\n \"size-limit\": \"^11.1.2\",\n \"typescript\": \"^5.5.3\"\n },\n \"engines\": {\n \"node\": \">=16\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"size-limit\": [\n {\n \"path\": \"dist/index.js\",\n \"limit\": \"2.2 kB\"\n }\n ],\n \"ts-scripts\": {\n \"dist\": [\n \"dist\"\n ],\n \"project\": [\n \"tsconfig.build.json\"\n ]\n }\n}\n",
11818
- "node_modules/@nestia/sdk/package.json": "{\n \"name\": \"@nestia/sdk\",\n \"version\": \"7.0.0\",\n \"description\": \"Nestia SDK and Swagger generator\",\n \"main\": \"lib/index.js\",\n \"typings\": \"lib/index.d.ts\",\n \"bin\": {\n \"@nestia/sdk\": \"lib/executable/sdk.js\"\n },\n \"scripts\": {\n \"build\": \"rimraf lib && tsc\",\n \"dev\": \"tsc -p tsconfig.test.json --watch\",\n \"eslint\": \"eslint ./**/*.ts\",\n \"prepare\": \"ts-patch install && typia patch\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"keywords\": [\n \"nestia\",\n \"sdk\",\n \"swagger\",\n \"generator\",\n \"nestjs\",\n \"typia\"\n ],\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"dependencies\": {\n \"@nestia/core\": \"^7.0.0\",\n \"@nestia/fetcher\": \"^7.0.0\",\n \"@samchon/openapi\": \"^4.3.3\",\n \"cli\": \"^1.0.1\",\n \"get-function-location\": \"^2.0.0\",\n \"glob\": \"^7.2.0\",\n \"path-to-regexp\": \"^6.2.1\",\n \"prettier\": \"^3.2.5\",\n \"ts-node\": \">=10.6.0\",\n \"tsconfck\": \"^2.1.2\",\n \"tsconfig-paths\": \"^4.1.1\",\n \"tstl\": \"^3.0.0\",\n \"typia\": \"^9.3.1\"\n },\n \"peerDependencies\": {\n \"@nestia/core\": \">=7.0.0\",\n \"@nestia/fetcher\": \">=7.0.0\",\n \"@nestjs/common\": \">=7.0.1\",\n \"@nestjs/core\": \">=7.0.1\",\n \"reflect-metadata\": \">=0.1.12\",\n \"ts-node\": \">=10.6.0\"\n },\n \"devDependencies\": {\n \"@nestjs/common\": \"^11.0.13\",\n \"@nestjs/core\": \"^11.0.13\",\n \"@trivago/prettier-plugin-sort-imports\": \"^4.3.0\",\n \"@types/cli\": \"^0.11.21\",\n \"@types/express\": \"^4.17.15\",\n \"@types/glob\": \"^7.2.0\",\n \"@types/node\": \"^18.11.15\",\n \"@types/ts-expose-internals\": \"npm:ts-expose-internals@5.4.5\",\n \"@typescript-eslint/eslint-plugin\": \"^5.46.1\",\n \"@typescript-eslint/parser\": \"^5.46.1\",\n \"eslint\": \"^8.29.0\",\n \"eslint-plugin-deprecation\": \"^1.4.1\",\n \"rimraf\": \"^6.0.1\",\n \"tgrid\": \"^1.1.0\",\n \"ts-patch\": \"^3.3.0\",\n \"typescript\": \"~5.8.3\",\n \"typescript-transform-paths\": \"^3.4.4\"\n },\n \"files\": [\n \"assets\",\n \"lib\",\n \"src\",\n \"README.md\",\n \"LICENSE\",\n \"package.json\"\n ]\n}",
11818
+ "node_modules/@nestia/sdk/package.json": "{\n \"name\": \"@nestia/sdk\",\n \"version\": \"7.0.3\",\n \"description\": \"Nestia SDK and Swagger generator\",\n \"main\": \"lib/index.js\",\n \"typings\": \"lib/index.d.ts\",\n \"bin\": {\n \"@nestia/sdk\": \"lib/executable/sdk.js\"\n },\n \"scripts\": {\n \"build\": \"rimraf lib && tsc\",\n \"dev\": \"tsc -p tsconfig.test.json --watch\",\n \"eslint\": \"eslint ./**/*.ts\",\n \"prepare\": \"ts-patch install && typia patch\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"keywords\": [\n \"nestia\",\n \"sdk\",\n \"swagger\",\n \"generator\",\n \"nestjs\",\n \"typia\"\n ],\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"dependencies\": {\n \"@nestia/core\": \"^7.0.3\",\n \"@nestia/fetcher\": \"^7.0.3\",\n \"@samchon/openapi\": \"^4.3.3\",\n \"cli\": \"^1.0.1\",\n \"get-function-location\": \"^2.0.0\",\n \"glob\": \"^7.2.0\",\n \"path-to-regexp\": \"^6.2.1\",\n \"prettier\": \"^3.2.5\",\n \"ts-node\": \">=10.6.0\",\n \"tsconfck\": \"^2.1.2\",\n \"tsconfig-paths\": \"^4.1.1\",\n \"tstl\": \"^3.0.0\",\n \"typia\": \"^9.3.1\"\n },\n \"peerDependencies\": {\n \"@nestia/core\": \">=7.0.3\",\n \"@nestia/fetcher\": \">=7.0.3\",\n \"@nestjs/common\": \">=7.0.1\",\n \"@nestjs/core\": \">=7.0.1\",\n \"reflect-metadata\": \">=0.1.12\",\n \"ts-node\": \">=10.6.0\"\n },\n \"devDependencies\": {\n \"@nestjs/common\": \"^11.0.13\",\n \"@nestjs/core\": \"^11.0.13\",\n \"@trivago/prettier-plugin-sort-imports\": \"^4.3.0\",\n \"@types/cli\": \"^0.11.21\",\n \"@types/express\": \"^4.17.15\",\n \"@types/glob\": \"^7.2.0\",\n \"@types/node\": \"^18.11.15\",\n \"@types/ts-expose-internals\": \"npm:ts-expose-internals@5.4.5\",\n \"@typescript-eslint/eslint-plugin\": \"^5.46.1\",\n \"@typescript-eslint/parser\": \"^5.46.1\",\n \"eslint\": \"^8.29.0\",\n \"eslint-plugin-deprecation\": \"^1.4.1\",\n \"rimraf\": \"^6.0.1\",\n \"tgrid\": \"^1.1.0\",\n \"ts-patch\": \"^3.3.0\",\n \"typescript\": \"~5.8.3\",\n \"typescript-transform-paths\": \"^3.4.4\"\n },\n \"files\": [\n \"assets\",\n \"lib\",\n \"src\",\n \"README.md\",\n \"LICENSE\",\n \"package.json\"\n ]\n}",
11819
11819
  "node_modules/@nestia/sdk/src/typings/get-function-location.d.ts": "declare module \"get-function-location\" {\n export default function (func: any): Promise<{\n source: string;\n line: number;\n column: number;\n }>;\n}\n",
11820
11820
  "node_modules/@nestia/sdk/node_modules/path-to-regexp/dist/index.d.ts": "export interface ParseOptions {\n /**\n * Set the default delimiter for repeat parameters. (default: `'/'`)\n */\n delimiter?: string;\n /**\n * List of characters to automatically consider prefixes when parsing.\n */\n prefixes?: string;\n}\n/**\n * Parse a string for the raw tokens.\n */\nexport declare function parse(str: string, options?: ParseOptions): Token[];\nexport interface TokensToFunctionOptions {\n /**\n * When `true` the regexp will be case sensitive. (default: `false`)\n */\n sensitive?: boolean;\n /**\n * Function for encoding input strings for output.\n */\n encode?: (value: string, token: Key) => string;\n /**\n * When `false` the function can produce an invalid (unmatched) path. (default: `true`)\n */\n validate?: boolean;\n}\n/**\n * Compile a string to a template function for the path.\n */\nexport declare function compile<P extends object = object>(str: string, options?: ParseOptions & TokensToFunctionOptions): PathFunction<P>;\nexport type PathFunction<P extends object = object> = (data?: P) => string;\n/**\n * Expose a method for transforming tokens into the path function.\n */\nexport declare function tokensToFunction<P extends object = object>(tokens: Token[], options?: TokensToFunctionOptions): PathFunction<P>;\nexport interface RegexpToFunctionOptions {\n /**\n * Function for decoding strings for params.\n */\n decode?: (value: string, token: Key) => string;\n}\n/**\n * A match result contains data about the path match.\n */\nexport interface MatchResult<P extends object = object> {\n path: string;\n index: number;\n params: P;\n}\n/**\n * A match is either `false` (no match) or a match result.\n */\nexport type Match<P extends object = object> = false | MatchResult<P>;\n/**\n * The match function takes a string and returns whether it matched the path.\n */\nexport type MatchFunction<P extends object = object> = (path: string) => Match<P>;\n/**\n * Create path match function from `path-to-regexp` spec.\n */\nexport declare function match<P extends object = object>(str: Path, options?: ParseOptions & TokensToRegexpOptions & RegexpToFunctionOptions): MatchFunction<P>;\n/**\n * Create a path match function from `path-to-regexp` output.\n */\nexport declare function regexpToFunction<P extends object = object>(re: RegExp, keys: Key[], options?: RegexpToFunctionOptions): MatchFunction<P>;\n/**\n * Metadata about a key.\n */\nexport interface Key {\n name: string | number;\n prefix: string;\n suffix: string;\n pattern: string;\n modifier: string;\n}\n/**\n * A token is a string (nothing special) or key metadata (capture group).\n */\nexport type Token = string | Key;\nexport interface TokensToRegexpOptions {\n /**\n * When `true` the regexp will be case sensitive. (default: `false`)\n */\n sensitive?: boolean;\n /**\n * When `true` the regexp won't allow an optional trailing delimiter to match. (default: `false`)\n */\n strict?: boolean;\n /**\n * When `true` the regexp will match to the end of the string. (default: `true`)\n */\n end?: boolean;\n /**\n * When `true` the regexp will match from the beginning of the string. (default: `true`)\n */\n start?: boolean;\n /**\n * Sets the final character for non-ending optimistic matches. (default: `/`)\n */\n delimiter?: string;\n /**\n * List of characters that can also be \"end\" characters.\n */\n endsWith?: string;\n /**\n * Encode path tokens for use in the `RegExp`.\n */\n encode?: (value: string) => string;\n}\n/**\n * Expose a function for taking tokens and returning a RegExp.\n */\nexport declare function tokensToRegexp(tokens: Token[], keys?: Key[], options?: TokensToRegexpOptions): RegExp;\n/**\n * Supported `path-to-regexp` input types.\n */\nexport type Path = string | RegExp | Array<string | RegExp>;\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n */\nexport declare function pathToRegexp(path: Path, keys?: Key[], options?: TokensToRegexpOptions & ParseOptions): RegExp;\n",
11821
11821
  "node_modules/@nestia/sdk/node_modules/path-to-regexp/package.json": "{\n \"name\": \"path-to-regexp\",\n \"version\": \"6.3.0\",\n \"description\": \"Express style path to RegExp utility\",\n \"keywords\": [\n \"express\",\n \"regexp\",\n \"route\",\n \"routing\"\n ],\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/pillarjs/path-to-regexp.git\"\n },\n \"license\": \"MIT\",\n \"sideEffects\": false,\n \"main\": \"dist/index.js\",\n \"module\": \"dist.es2015/index.js\",\n \"typings\": \"dist/index.d.ts\",\n \"files\": [\n \"dist.es2015/\",\n \"dist/\"\n ],\n \"scripts\": {\n \"build\": \"ts-scripts build\",\n \"format\": \"ts-scripts format\",\n \"lint\": \"ts-scripts lint\",\n \"prepare\": \"ts-scripts install && npm run build\",\n \"size\": \"size-limit\",\n \"specs\": \"ts-scripts specs\",\n \"test\": \"ts-scripts test && npm run size\"\n },\n \"devDependencies\": {\n \"@borderless/ts-scripts\": \"^0.15.0\",\n \"@size-limit/preset-small-lib\": \"^11.1.2\",\n \"@types/node\": \"^20.4.9\",\n \"@types/semver\": \"^7.3.1\",\n \"@vitest/coverage-v8\": \"^1.4.0\",\n \"recheck\": \"^4.4.5\",\n \"semver\": \"^7.3.5\",\n \"size-limit\": \"^11.1.2\",\n \"typescript\": \"^5.1.6\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"size-limit\": [\n {\n \"path\": \"dist.es2015/index.js\",\n \"limit\": \"2.1 kB\"\n }\n ],\n \"ts-scripts\": {\n \"dist\": [\n \"dist\",\n \"dist.es2015\"\n ],\n \"project\": [\n \"tsconfig.build.json\",\n \"tsconfig.es2015.json\"\n ]\n }\n}\n",
@@ -12445,24 +12445,24 @@
12445
12445
  "node_modules/@prisma/client/scripts/postinstall.d.ts": "export function getPostInstallTrigger(): string\nexport const UNABLE_TO_FIND_POSTINSTALL_TRIGGER__EMPTY_STRING\nexport const UNABLE_TO_FIND_POSTINSTALL_TRIGGER__ENVAR_MISSING\nexport const UNABLE_TO_FIND_POSTINSTALL_TRIGGER_JSON_PARSE_ERROR\nexport const UNABLE_TO_FIND_POSTINSTALL_TRIGGER_JSON_SCHEMA_ERROR\n",
12446
12446
  "node_modules/@prisma/client/sql.d.ts": "export * from '.prisma/client/sql'\n",
12447
12447
  "node_modules/@prisma/client/wasm.d.ts": "export * from '.prisma/client/wasm'\n",
12448
- "node_modules/@samchon/openapi/lib/HttpLlm.d.ts": "import { OpenApi } from \"./OpenApi\";\nimport { OpenApiV3 } from \"./OpenApiV3\";\nimport { OpenApiV3_1 } from \"./OpenApiV3_1\";\nimport { SwaggerV2 } from \"./SwaggerV2\";\nimport { IHttpConnection } from \"./structures/IHttpConnection\";\nimport { IHttpLlmApplication } from \"./structures/IHttpLlmApplication\";\nimport { IHttpLlmFunction } from \"./structures/IHttpLlmFunction\";\nimport { IHttpResponse } from \"./structures/IHttpResponse\";\nimport { ILlmFunction } from \"./structures/ILlmFunction\";\nimport { ILlmSchema } from \"./structures/ILlmSchema\";\n/**\n * LLM function calling application composer from OpenAPI document.\n *\n * `HttpLlm` is a module for composing LLM (Large Language Model) function calling\n * application from the {@link OpenApi.IDocument OpenAPI document}, and also for\n * LLM function call execution and parameter merging.\n *\n * At first, you can construct the LLM function calling application by the\n * {@link HttpLlm.application HttpLlm.application()} function. And then the LLM\n * has selected a {@link IHttpLlmFunction function} to call and composes its\n * arguments, you can execute the function by\n * {@link HttpLlm.execute HttpLlm.execute()} or\n * {@link HttpLlm.propagate HttpLlm.propagate()}.\n *\n * By the way, if you have configured the {@link IHttpLlmApplication.IOptions.separate}\n * option to separate the parameters into human and LLM sides, you can merge these\n * human and LLM sides' parameters into one through\n * {@link HttpLlm.mergeParameters HttpLlm.mergeParameters()} before the actual LLM\n * function call execution.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace HttpLlm {\n /**\n * Properties for the LLM function calling application composer.\n *\n * @template Model Target LLM model\n */\n interface IApplicationProps<Model extends ILlmSchema.Model> {\n /**\n * Target LLM model.\n */\n model: Model;\n /**\n * OpenAPI document to convert.\n */\n document: OpenApi.IDocument | SwaggerV2.IDocument | OpenApiV3.IDocument | OpenApiV3_1.IDocument;\n /**\n * Options for the LLM function calling schema conversion.\n */\n options?: Partial<IHttpLlmApplication.IOptions<Model>>;\n }\n /**\n * Convert OpenAPI document to LLM function calling application.\n *\n * Converts {@link OpenApi.IDocument OpenAPI document} or\n * {@link IHttpMigrateApplication migrated application} to the\n * {@link IHttpLlmApplication LLM function calling application}. Every\n * {@link OpenApi.IOperation API operations} in the OpenAPI document are converted\n * to the {@link IHttpLlmFunction LLM function} type, and they would be used for\n * the LLM function calling.\n *\n * If you have configured the {@link IHttpLlmApplication.IOptions.separate} option,\n * every parameters in the {@link IHttpLlmFunction} would be separated into both\n * human and LLM sides. In that case, you can merge these human and LLM sides'\n * parameters into one through {@link HttpLlm.mergeParameters} before the actual\n * LLM function call execution.\n *\n * Additionally, if you have configured the {@link IHttpLlmApplication.IOptions.keyword}\n * as `true`, the number of {@link IHttpLlmFunction.parameters} are always 1 and the\n * first parameter type is always {@link ILlmSchemaV3.IObject}. I recommend this option\n * because LLM can understand the keyword arguments more easily.\n *\n * @param props Properties for composition\n * @returns LLM function calling application\n */\n const application: <Model extends ILlmSchema.Model>(props: IApplicationProps<Model>) => IHttpLlmApplication<Model>;\n /**\n * Properties for the LLM function call.\n */\n interface IFetchProps<Model extends ILlmSchema.Model> {\n /**\n * Application of the LLM function calling.\n */\n application: IHttpLlmApplication<Model>;\n /**\n * LLM function schema to call.\n */\n function: IHttpLlmFunction<ILlmSchema.Model>;\n /**\n * Connection info to the HTTP server.\n */\n connection: IHttpConnection;\n /**\n * Input arguments for the function call.\n */\n input: object;\n }\n /**\n * Execute the LLM function call.\n *\n * `HttmLlm.execute()` is a function executing the target\n * {@link OpenApi.IOperation API endpoint} with with the connection information\n * and arguments composed by Large Language Model like OpenAI (+human sometimes).\n *\n * By the way, if you've configured the {@link IHttpLlmApplication.IOptions.separate},\n * so that the parameters are separated to human and LLM sides, you have to merge\n * these humand and LLM sides' parameters into one through\n * {@link HttpLlm.mergeParameters} function.\n *\n * About the {@link IHttpLlmApplication.IOptions.keyword} option, don't worry anything.\n * This `HttmLlm.execute()` function will automatically recognize the keyword arguments\n * and convert them to the proper sequence.\n *\n * For reference, if the target API endpoinnt responds none 200/201 status, this\n * would be considered as an error and the {@link HttpError} would be thrown.\n * Otherwise you don't want such rule, you can use the {@link HttpLlm.propagate}\n * function instead.\n *\n * @param props Properties for the LLM function call\n * @returns Return value (response body) from the API endpoint\n * @throws HttpError when the API endpoint responds none 200/201 status\n */\n const execute: <Model extends ILlmSchema.Model>(props: IFetchProps<Model>) => Promise<unknown>;\n /**\n * Propagate the LLM function call.\n *\n * `HttmLlm.propagate()` is a function propagating the target\n * {@link OpenApi.IOperation API endpoint} with with the connection information\n * and arguments composed by Large Language Model like OpenAI (+human sometimes).\n *\n * By the way, if you've configured the {@link IHttpLlmApplication.IOptions.separate},\n * so that the parameters are separated to human and LLM sides, you have to merge\n * these humand and LLM sides' parameters into one through\n * {@link HttpLlm.mergeParameters} function.\n *\n * About the {@link IHttpLlmApplication.IOptions.keyword} option, don't worry anything.\n * This `HttmLlm.propagate()` function will automatically recognize the keyword arguments\n * and convert them to the proper sequence.\n *\n * For reference, the propagation means always returning the response from the API\n * endpoint, even if the status is not 200/201. This is useful when you want to\n * handle the response by yourself.\n *\n * @param props Properties for the LLM function call\n * @returns Response from the API endpoint\n * @throws Error only when the connection is failed\n */\n const propagate: <Model extends ILlmSchema.Model>(props: IFetchProps<Model>) => Promise<IHttpResponse>;\n /**\n * Properties for the parameters' merging.\n */\n interface IMergeProps<Model extends ILlmSchema.Model> {\n /**\n * Metadata of the target function.\n */\n function: ILlmFunction<Model>;\n /**\n * Arguments composed by the LLM.\n */\n llm: object | null;\n /**\n * Arguments composed by the human.\n */\n human: object | null;\n }\n /**\n * Merge the parameters.\n *\n * If you've configured the {@link IHttpLlmApplication.IOptions.separate} option,\n * so that the parameters are separated to human and LLM sides, you can merge these\n * humand and LLM sides' parameters into one through this `HttpLlm.mergeParameters()`\n * function before the actual LLM function call wexecution.\n *\n * On contrary, if you've not configured the\n * {@link IHttpLlmApplication.IOptions.separate} option, this function would throw\n * an error.\n *\n * @param props Properties for the parameters' merging\n * @returns Merged parameter values\n */\n const mergeParameters: <Model extends ILlmSchema.Model>(props: IMergeProps<Model>) => object;\n /**\n * Merge two values.\n *\n * If both values are objects, then combines them in the properties level.\n *\n * Otherwise, returns the latter value if it's not null, otherwise the former value.\n *\n * - `return (y ?? x)`\n *\n * @param x Value X to merge\n * @param y Value Y to merge\n * @returns Merged value\n */\n const mergeValue: (x: unknown, y: unknown) => unknown;\n}\n",
12449
- "node_modules/@samchon/openapi/lib/HttpMigration.d.ts": "import { OpenApi } from \"./OpenApi\";\nimport { OpenApiV3 } from \"./OpenApiV3\";\nimport { OpenApiV3_1 } from \"./OpenApiV3_1\";\nimport { SwaggerV2 } from \"./SwaggerV2\";\nimport { IHttpConnection } from \"./structures/IHttpConnection\";\nimport { IHttpMigrateApplication } from \"./structures/IHttpMigrateApplication\";\nimport { IHttpMigrateRoute } from \"./structures/IHttpMigrateRoute\";\nimport { IHttpResponse } from \"./structures/IHttpResponse\";\n/**\n * HTTP migration application composer from OpenAPI document.\n *\n * `HttpMigration` is a module for composing HTTP migration application from the\n * {@link OpenApi.IDocument OpenAPI document}. It is designed for helping the OpenAPI\n * generator libraries, which converts {@link OpenApi.IOperation OpenAPI operations} to\n * an RPC (Remote Procedure Call) function.\n *\n * The key feature of the `HttpModule` is the {@link HttpMigration.application} function.\n * It converts the {@link OpenApi.IOperation OpenAPI operations} to the\n * {@link IHttpMigrateRoute HTTP migration route}, and it normalizes the OpenAPI operations\n * to the RPC function calling suitable route structure.\n *\n * The other functions, {@link HttpMigration.execute} and {@link HttpMigration.propagate},\n * are for executing the HTTP request to the HTTP server. The {@link HttpMigration.execute}\n * function returns the response body from the API endpoint when the status code is `200`\n * or `201`. Otherwise, it throws an {@link HttpError} when the status code is not `200`\n * or `201`. The {@link HttpMigration.propagate} function returns the response information\n * from the API endpoint, including the status code, headers, and response body.\n *\n * The {@link HttpLlm} module is a good example utilizing this `HttpMigration` module\n * for composing RPC function calling application. The {@link HttpLlm} module composes\n * LLM (Large Language Model) function calling application from the OpenAPI document\n * bypassing through the {@link IHttpLlmApplication} type.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace HttpMigration {\n /**\n * Convert HTTP migration application from OpenAPI document.\n *\n * `HttpMigration.application()` is a function converting the\n * {@link OpenApi.IDocument OpenAPI document} and its {@link OpenApi.IOperation operations}\n * to the {@link IHttpMigrateApplication HTTP migration application}.\n *\n * The HTTP migration application is designed for helping the OpenAPI generator\n * libraries, which converts OpenAPI operations to an RPC (Remote Procedure Call)\n * function. To support the OpenAPI generator libraries, {@link IHttpMigrateRoute}\n * takes below normalization rules:\n *\n * - Path parameters are separated to atomic level.\n * - Query parameters are binded into one object.\n * - Header parameters are binded into one object.\n * - Allow only below HTTP methods\n * - `head`\n * - `get`\n * - `post`\n * - `put`\n * - `patch`\n * - `delete`\n * - Allow only below content media types\n * - `application/json`\n * - `application/x-www-form-urlencoded`\n * - `multipart/form-data`\n * - `text/plain`\n *\n * If there're some {@link OpenApi.IOperation API operations} which canont adjust\n * the above rules or there're some logically insensible, these operation would be\n * failed to migrate and registered into the {@link IHttpMigrateApplication.errors}.\n *\n * @param document OpenAPI document to migrate.\n * @returns Migrated application.\n */\n const application: (document: OpenApi.IDocument | SwaggerV2.IDocument | OpenApiV3.IDocument | OpenApiV3_1.IDocument) => IHttpMigrateApplication;\n /**\n * Properties for the request to the HTTP server.\n */\n interface IFetchProps {\n /**\n * Connection info to the HTTP server.\n */\n connection: IHttpConnection;\n /**\n * Route information for the migration.\n */\n route: IHttpMigrateRoute;\n /**\n * Path parameters.\n *\n * Path parameters with sequenced array or key-value paired object.\n */\n parameters: Array<string | number | boolean | bigint | null> | Record<string, string | number | boolean | bigint | null>;\n /**\n * Query parameters as a key-value paired object.\n */\n query?: object | undefined;\n /**\n * Request body data.\n */\n body?: object | undefined;\n }\n /**\n * Execute the HTTP request.\n *\n * `HttpMigration.execute()` is a function executing the HTTP request to the HTTP server.\n *\n * It returns the response body from the API endpoint when the status code is `200`\n * or `201`. Otherwise, it throws an {@link HttpError} when the status code is not\n * `200` or `201`.\n *\n * If you want to get more information than the response body, or get the detailed\n * response information even when the status code is `200` or `201`, use the\n * {@link HttpMigration.propagate} function instead.\n *\n * @param props Properties for the request.\n * @returns Return value (response body) from the API endpoint.\n * @throws HttpError when the API endpoint responds none 200/201 status.\n */\n const execute: (props: IFetchProps) => Promise<unknown>;\n /**\n * Propagate the HTTP request.\n *\n * `HttpMigration.propagate()` is a function propagating the request to the HTTP server.\n *\n * It returns the response information from the API endpoint, including the status code,\n * headers, and response body.\n *\n * Even if the status code is not `200` or `201`, this function\n * would return the response information. By the way, if the connection to the HTTP server\n * is failed, this function would throw an {@link Error}.\n *\n * @param props Properties for the request.\n * @returns Response from the API endpoint.\n * @throws Error when the connection is failed.\n */\n const propagate: (props: IFetchProps) => Promise<IHttpResponse>;\n}\n",
12450
- "node_modules/@samchon/openapi/lib/McpLlm.d.ts": "import { ILlmSchema } from \"./structures/ILlmSchema\";\nimport { IMcpLlmApplication } from \"./structures/IMcpLlmApplication\";\nimport { IMcpTool } from \"./structures/IMcpTool\";\n/**\n * Application of LLM function calling from MCP document.\n *\n * `McpLlm` is a module for composing LLM (Large Language Model) function\n * calling application from MCP (Model Context Protocol) document.\n *\n * The reasons why `@samchon/openapi` recommends to use the function calling\n * feature instead of directly using the\n * [`mcp_servers`](https://openai.github.io/openai-agents-python/mcp/#using-mcp-servers)\n * property of LLM API are:\n *\n * - Model Specification: {@link ILlmSchema}\n * - Validation Feedback: {@link IMcpLlmFunction.validate}\n * - Selector agent for reducing context: [Agentica > Orchestration Strategy](https://wrtnlabs.io/agentica/docs/concepts/function-calling/#orchestration-strategy)\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace McpLlm {\n /**\n * Properties for the LLM function calling application composer.\n *\n * @template Model Target LLM model\n */\n interface IApplicationProps<Model extends ILlmSchema.Model> {\n /**\n * Target LLM model.\n */\n model: Model;\n /**\n * List of tools.\n *\n * A list of tools defined in the MCP (Model Context Protocol) document.\n *\n * It would better to validate the tools by\n * [`typia.assert<T>()`](https://typia.io/docs/validate/assert) function\n * for the type safety.\n */\n tools: Array<IMcpTool>;\n /**\n * Options for the LLM function calling schema conversion.\n */\n options?: Partial<IMcpLlmApplication.IOptions<Model>>;\n }\n /**\n * Convert MCP document to LLM function calling application.\n *\n * Converts MCP (Model Context Protocol) to LLM (Large Language Model)\n * function calling application.\n *\n * The reasons why `@samchon/openapi` recommends to use the function calling\n * feature instead of directly using the\n * [`mcp_servers`](https://openai.github.io/openai-agents-python/mcp/#using-mcp-servers)\n * property of LLM API are:\n *\n * - Model Specification: {@link ILlmSchema}\n * - Validation Feedback: {@link IMcpLlmFunction.validate}\n * - Selector agent for reducing context: [Agentica > Orchestration Strategy](https://wrtnlabs.io/agentica/docs/concepts/function-calling/#orchestration-strategy)\n *\n * @param props Properties for composition\n * @returns LLM function calling application\n */\n const application: <Model extends ILlmSchema.Model>(props: IApplicationProps<Model>) => IMcpLlmApplication<Model>;\n}\n",
12451
- "node_modules/@samchon/openapi/lib/OpenApi.d.ts": "import { OpenApiV3 } from \"./OpenApiV3\";\nimport { OpenApiV3_1 } from \"./OpenApiV3_1\";\nimport { SwaggerV2 } from \"./SwaggerV2\";\nimport { IJsonSchemaAttribute } from \"./structures/IJsonSchemaAttribute\";\n/**\n * Emended OpenAPI v3.1 definition used by `typia` and `nestia`.\n *\n * `OpenApi` is a namespace containing functions and interfaces for emended\n * OpenAPI v3.1 specification. The keyword \"emended\" means that `OpenApi` is\n * not a direct OpenAPI v3.1 specification ({@link OpenApiV3_1}), but a little\n * bit shrunk to remove ambiguous and duplicated expressions of OpenAPI v3.1\n * for the convenience of `typia` and `nestia`.\n *\n * For example, when representing nullable type, OpenAPI v3.1 supports three ways.\n * In that case, `OpenApi` remains only the third way, so that makes `typia` and\n * `nestia` (especially `@nestia/editor`) to be simple and easy to implement.\n *\n * 1. `{ type: [\"string\", \"null\"] }`\n * 2. `{ type: \"string\", nullable: true }`\n * 3. `{ oneOf: [{ type: \"string\" }, { type: \"null\" }] }`\n *\n * Here is the entire list of differences between OpenAPI v3.1 and emended `OpenApi`.\n *\n * - Operation\n * - Merge {@link OpenApiV3_1.IPath.parameters} to {@link OpenApi.IOperation.parameters}\n * - Resolve {@link OpenApi.IJsonSchema.IReference references} of {@link OpenApiV3_1.IOperation} members\n * - Escape references of {@link OpenApiV3_1.IComponents.examples}\n * - JSON Schema\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Array type utilizes only single {@link OpenApi.IJsonSchema.IArray.items}\n * - Tuple type utilizes only {@link OpenApi.IJsonSchema.ITuple.prefixItems}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link OpenApi.IJsonSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to {@link OpenApi.IJsonSchema.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link OpenApi.IJsonSchema.IReference}\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace OpenApi {\n /**\n * Method of the operation.\n */\n type Method = \"get\" | \"post\" | \"put\" | \"delete\" | \"options\" | \"head\" | \"patch\" | \"trace\";\n /**\n * Convert Swagger or OpenAPI document into emended OpenAPI v3.1 document.\n *\n * @param input Swagger or OpenAPI document to convert\n * @returns Emended OpenAPI v3.1 document\n */\n function convert(input: SwaggerV2.IDocument | OpenApiV3.IDocument | OpenApiV3_1.IDocument | OpenApi.IDocument): IDocument;\n /**\n * Downgrade to Swagger v2.0 document.\n *\n * Downgrade the given document (emeneded OpenAPI v3.1) into Swagger v2.0.\n *\n * @param document Emended OpenAPI v3.1 document to downgrade\n * @param version Version to downgrade\n * @returns Swagger v2.0 document\n */\n function downgrade(document: IDocument, version: \"2.0\"): SwaggerV2.IDocument;\n /**\n * Downgrade to OpenAPI v3.0 document.\n *\n * Downgrade the given document (emeneded OpenAPI v3.1) into OpenAPI v3.0.\n *\n * @param document Emended OpenAPI v3.1 document to downgrade\n * @param version Version to downgrade\n * @returns OpenAPI v3.0 document\n */\n function downgrade(document: IDocument, version: \"3.0\"): OpenApiV3.IDocument;\n /**\n * OpenAPI document.\n *\n * `OpenApi.IDocument` represents an OpenAPI document of emended OpenAPI v3.1.\n *\n * In other words, `OpenApi.IDocument` is a structure of `swagger.json` file of\n * OpenAPI v3.1 specification, but a little bit shrunk to remove ambiguous and\n * duplicated expressions of OpenAPI v3.1 for the convenience and clarity.\n */\n interface IDocument {\n /**\n * OpenAPI version number.\n */\n openapi: `3.1.${number}`;\n /**\n * List of servers that provide the API.\n */\n servers?: IServer[];\n /**\n * Information about the API.\n */\n info?: IDocument.IInfo;\n /**\n * An object to hold reusable data structures.\n *\n * It stores both DTO schemas and security schemes.\n *\n * For reference, `nestia` defines every object and alias types as reusable DTO\n * schemas. The alias type means that defined by `type` keyword in TypeScript.\n */\n components: IComponents;\n /**\n * The available paths and operations for the API.\n *\n * The 1st key is the path, and the 2nd key is the HTTP method.\n */\n paths?: Record<string, IPath>;\n /**\n * An object to hold Webhooks.\n *\n * Its structure is same with {@link paths}, so that the 1st key is the path,\n * and the 2nd key is the HTTP method.\n */\n webhooks?: Record<string, IPath>;\n /**\n * A declaration of which security mechanisms can be used across the API.\n *\n * When this property be configured, it would be overwritten in every API routes.\n *\n * For reference, key means the name of security scheme and value means the `scopes`.\n * The `scopes` can be used only when target security scheme is `oauth2` type,\n * especially for {@link ISwaggerSecurityScheme.IOAuth2.IFlow.scopes} property.\n */\n security?: Record<string, string[]>[];\n /**\n * List of tag names with description.\n *\n * It is possible to omit this property or skip some tag name even if\n * the tag name is used in the API routes. In that case, the tag name\n * would be displayed (in Swagger-UI) without description.\n */\n tags?: IDocument.ITag[];\n /**\n * Flag for indicating this document is emended by `@samchon/openapi` v4.\n */\n \"x-samchon-emended-v4\": true;\n }\n namespace IDocument {\n /**\n * Information about the API.\n */\n interface IInfo {\n /**\n * The title of the API.\n */\n title: string;\n /**\n * A short summary of the API.\n */\n summary?: string;\n /**\n * A full description of the API.\n */\n description?: string;\n /**\n * A URL to the Terms of Service for the API.\n */\n termsOfService?: string;\n /**\n * The contact information for the exposed API.\n */\n contact?: IContact;\n /**\n * The license information for the exposed API.\n */\n license?: ILicense;\n /**\n * Version of the API.\n */\n version: string;\n }\n /**\n * OpenAPI tag information.\n *\n * It is possible to skip composing this structure, even if some\n * tag names are registered in the API routes ({@link OpenApi.IOperation.tags}).\n * In that case, the tag name would be displayed in Swagger-UI without\n * description.\n *\n * However, if you want to describe the tag name, you can compose this\n * structure and describe the tag name in the {@link description} property.\n */\n interface ITag {\n /**\n * The name of the tag.\n */\n name: string;\n /**\n * An optional string describing the tag.\n */\n description?: string;\n }\n /**\n * Contact information for the exposed API.\n */\n interface IContact {\n /**\n * The identifying name of the contact person/organization.\n */\n name?: string;\n /**\n * The URL pointing to the contact information.\n */\n url?: string;\n /**\n * The email address of the contact person/organization.\n *\n * @format email\n */\n email?: string;\n }\n /**\n * License information for the exposed API.\n */\n interface ILicense {\n /**\n * The license name used for the API.\n */\n name: string;\n /**\n * Identifier for the license used for the API.\n *\n * example: MIT\n */\n identifier?: string;\n /**\n * A URL to the license used for the API.\n */\n url?: string;\n }\n }\n /**\n * The remote server that provides the API.\n */\n interface IServer {\n /**\n * A URL to the target host.\n */\n url: string;\n /**\n * An optional string describing the target server.\n */\n description?: string;\n /**\n * A map between a variable name and its value.\n *\n * When the server {@link url} is a type of template, this property\n * would be utilized to fill the template with actual values.\n */\n variables?: Record<string, IServer.IVariable>;\n }\n namespace IServer {\n /**\n * A variable for the server URL template.\n */\n interface IVariable {\n /**\n * Default value to use for substitution.\n */\n default: string;\n /**\n * List of available values for the variable.\n */\n enum?: string[];\n /**\n * An optional description for the server variable.\n */\n description?: string;\n }\n }\n /**\n * Path item.\n *\n * `OpenApi.IPath` represents a path item of emended OpenAPI v3.1,\n * collecting multiple method operations in a single path.\n */\n interface IPath extends Partial<Record<Method, IOperation>> {\n /**\n * Servers that provide the path operations.\n */\n servers?: IServer[];\n /**\n * Summary of the path.\n */\n summary?: string;\n /**\n * Description of the path.\n */\n description?: string;\n }\n /**\n * Remote operation info.\n *\n * `OpenApi.IOperation` represents an Restful API operation provided by the\n * remote server.\n */\n interface IOperation {\n /**\n * Unique string used to identify the operation.\n */\n operationId?: string;\n /**\n * List of parameters that are applicable for this operation.\n */\n parameters?: IOperation.IParameter[];\n /**\n * The request body applicable for this operation.\n */\n requestBody?: IOperation.IRequestBody;\n /**\n * The list of possible responses as they are returned from executing this\n * operation. Its key is the HTTP status code, and the value is the metadata of\n * the response in the HTTP status code.\n */\n responses?: Record<string, IOperation.IResponse>;\n /**\n * A list of servers providing this API operation.\n */\n servers?: IServer[];\n /**\n * A short summary of what the operation does.\n */\n summary?: string;\n /**\n * A verbose explanation of the operation behavior.\n */\n description?: string;\n /**\n * List of securities and their scopes that are required for execution.\n *\n * When this property be configured, the Restful API operation requires\n * the matched security value for execution. Its key means security key\n * matched with {@link OpenApi.IDocument.security}.\n *\n * The value means scopes required for the security key when the security\n * type is {@link OpenApi.ISecurityScheme.IOAuth2}. Otherwise the target\n * security type is not {@link OpenApi.ISecurityScheme.IOAuth2}, the value\n * would be empty array.\n */\n security?: Record<string, string[]>[];\n /**\n * Tags for API documentation control.\n */\n tags?: string[];\n /**\n * Flag for indicating this operation is deprecated.\n */\n deprecated?: boolean;\n /**\n * Flag for indicating this operation is human-only.\n *\n * If this property value is `true`, {@link HttpLlm.application}\n * function will not convert this operation schema into the LLM function\n * calling schema that is represented by the {@link IHttpLlmFunction}\n * interface.\n */\n \"x-samchon-human\"?: boolean;\n /**\n * Accessor of the operation.\n *\n * If you configure this property, the assigned value would be used as\n * {@link IHttpMigrateRoute.accessor}. Also, it also can be used as the\n * {@link IHttpLlmFunction.name} by joininig with `.` character in the\n * LLM function calling application.\n *\n * Note that, the `x-samchon-accessor` value must be unique in the entire\n * OpenAPI document operations. If there're duplicated `x-samchon-accessor`\n * values, {@link IHttpMigrateRoute.accessor} will ignore every duplicated\n * `x-samchon-accessor` values and generate the\n * {@link IHttpMigrateRoute.accessor} by itself.\n */\n \"x-samchon-accessor\"?: string[];\n /**\n * Controller of the operation.\n *\n * If you configure this property, the assigned value would be utilized\n * as the controller name in the OpenAPI generator library like\n * [`@nestia/editor`](https://nestia.io/docs/editor/) and\n * [`@nestia/migrate`](https://nestia.io/docs/migrate/).\n *\n * Also, if {@link x-samchon-accessor} has been configured, its last\n * element would be used as the controller method (function) name.\n * Of course, the OpenAPI document generator `@nestia/sdk` fills both of\n * them.\n */\n \"x-samchon-controller\"?: string;\n }\n namespace IOperation {\n /**\n * Parameter of the operation.\n */\n interface IParameter {\n /**\n * Representative name of the parameter.\n *\n * In the most case, the `name` is equivalent to parameter variable name.\n * Therefore, the `name` must be filled with the significant variable name\n * of the parameter.\n *\n * By the way, only when the {@link in} property is `path`, the `name`\n * can be omitted. In that case, the `name` is automatically deduced from\n * the URL path's positional template argument analyzing.\n */\n name?: string;\n /**\n * Location of the parameter.\n *\n * The `in` property is a string that determines the location of the parameter.\n *\n * - `path`: parameter is part of the path of the URL.\n * - `query`: parameter is part of the query string.\n * - `header`: parameter is part of the header.\n * - `cookie`: parameter is part of the cookie.\n */\n in: \"path\" | \"query\" | \"header\" | \"cookie\";\n /**\n * Type info of the parameter.\n */\n schema: IJsonSchema;\n /**\n * Whether the parameter is required for execution or not.\n *\n * If the parameter is required, the value must be filled. Otherwise,\n * it is possible to skip the parameter when executing the APi operation.\n *\n * For reference, the `required` property must be always `true` when the\n * {@link in} property is `path`. Otherwise, the `required` property can\n * be anything of them; `true`, `false` and `undefined`.\n */\n required?: boolean;\n /**\n * Short title of the parameter.\n */\n title?: string;\n /**\n * Verbose explanation of the parameter.\n */\n description?: string;\n /**\n * Example value of the parameter.\n */\n example?: any;\n /**\n * Collection of example values of the parameter with keys.\n */\n examples?: Record<string, IExample>;\n }\n /**\n * Request body of the operation.\n */\n interface IRequestBody {\n content?: IContent;\n description?: string;\n required?: boolean;\n \"x-nestia-encrypted\"?: boolean;\n }\n /**\n * Response of the operation.\n */\n interface IResponse {\n headers?: Record<string, IOperation.IParameter>;\n content?: IContent;\n description?: string;\n \"x-nestia-encrypted\"?: boolean;\n }\n /**\n * List of content types supported in request/response body.\n */\n interface IContent extends Partial<Record<ContentType, IMediaType>> {\n }\n /**\n * Media type of a request/response body.\n */\n interface IMediaType {\n schema?: IJsonSchema;\n example?: any;\n examples?: Record<string, IExample>;\n }\n /**\n * List of supported content media types.\n */\n type ContentType = \"text/plain\" | \"application/json\" | \"application/x-www-form-url-encoded\" | \"multipart/form-data\" | \"*/*\" | (string & {});\n }\n /**\n * Example of the operation parameter or response.\n */\n interface IExample {\n summary?: string;\n description?: string;\n value?: any;\n externalValue?: string;\n }\n /**\n * Reusable components in OpenAPI.\n *\n * A storage of reusable components in OpenAPI document.\n *\n * In other words, it is a storage of named DTO schemas and security schemes.\n */\n interface IComponents {\n /**\n * An object to hold reusable DTO schemas.\n *\n * In other words, a collection of named JSON schemas.\n */\n schemas?: Record<string, IJsonSchema>;\n /**\n * An object to hold reusable security schemes.\n *\n * In other words, a collection of named security schemes.\n */\n securitySchemes?: Record<string, ISecurityScheme>;\n }\n /**\n * Type schema info.\n *\n * `OpenApi.IJsonSchema` is a type schema info of the OpenAPI.\n *\n * `OpenApi.IJsonSchema` basically follows the JSON schema definition of\n * OpenAPI v3.1, but a little bit shrunk to remove ambiguous and duplicated\n * expressions of OpenAPI v3.1 for the convenience and clarity.\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Array type utilizes only single {@link OpenAPI.IJsonSchema.IArray.items}\n * - Tuple type utilizes only {@link OpenApi.IJsonSchema.ITuple.prefixItems}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link OpenApi.IJsonSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to {@link OpenApi.IJsonSchema.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link OpenApi.IJsonSchema.IReference}\n */\n type IJsonSchema = IJsonSchema.IConstant | IJsonSchema.IBoolean | IJsonSchema.IInteger | IJsonSchema.INumber | IJsonSchema.IString | IJsonSchema.IArray | IJsonSchema.ITuple | IJsonSchema.IObject | IJsonSchema.IReference | IJsonSchema.IOneOf | IJsonSchema.INull | IJsonSchema.IUnknown;\n namespace IJsonSchema {\n /**\n * Constant value type.\n */\n interface IConstant extends IJsonSchemaAttribute {\n /**\n * The constant value.\n */\n const: boolean | number | string;\n }\n /**\n * Boolean type info.\n */\n interface IBoolean extends IJsonSchemaAttribute.IBoolean {\n /**\n * The default value of the boolean type.\n */\n default?: boolean;\n }\n /**\n * Integer type info.\n */\n interface IInteger extends IJsonSchemaAttribute.IInteger {\n /**\n * Default value of the integer type.\n *\n * @type int64\n */\n default?: number;\n /**\n * Minimum value restriction.\n *\n * @type int64\n */\n minimum?: number;\n /**\n * Maximum value restriction.\n *\n * @type int64\n */\n maximum?: number;\n /**\n * Exclusive minimum value restriction.\n */\n exclusiveMinimum?: number;\n /**\n * Exclusive maximum value restriction.\n */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @type uint64\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /**\n * Number (double) type info.\n */\n interface INumber extends IJsonSchemaAttribute.INumber {\n /**\n * Default value of the number type.\n */\n default?: number;\n /**\n * Minimum value restriction.\n */\n minimum?: number;\n /**\n * Maximum value restriction.\n */\n maximum?: number;\n /**\n * Exclusive minimum value restriction.\n */\n exclusiveMinimum?: number;\n /**\n * Exclusive maximum value restriction.\n */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /**\n * String type info.\n */\n interface IString extends IJsonSchemaAttribute.IString {\n /**\n * Default value of the string type.\n */\n default?: string;\n /**\n * Format restriction.\n */\n format?: \"binary\" | \"byte\" | \"password\" | \"regex\" | \"uuid\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"iri\" | \"iri-reference\" | \"ipv4\" | \"ipv6\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"date-time\" | \"date\" | \"time\" | \"duration\" | \"json-pointer\" | \"relative-json-pointer\" | (string & {});\n /**\n * Pattern restriction.\n */\n pattern?: string;\n /**\n * Content media type restriction.\n */\n contentMediaType?: string;\n /**\n * Minimum length restriction.\n *\n * @type uint64\n */\n minLength?: number;\n /**\n * Maximum length restriction.\n *\n * @type uint64\n */\n maxLength?: number;\n }\n /**\n * Array type info.\n */\n interface IArray extends IJsonSchemaAttribute.IArray {\n /**\n * Items type info.\n *\n * The `items` means the type of the array elements. In other words, it is\n * the type schema info of the `T` in the TypeScript array type `Array<T>`.\n */\n items: IJsonSchema;\n /**\n * Unique items restriction.\n *\n * If this property value is `true`, target array must have unique items.\n */\n uniqueItems?: boolean;\n /**\n * Minimum items restriction.\n *\n * Restriction of minimum number of items in the array.\n *\n * @type uint64\n */\n minItems?: number;\n /**\n * Maximum items restriction.\n *\n * Restriction of maximum number of items in the array.\n *\n * @type uint64\n */\n maxItems?: number;\n }\n /**\n * Tuple type info.\n */\n interface ITuple extends IJsonSchemaAttribute {\n /**\n * Discriminator value of the type.\n *\n * Note that, the tuple type cannot be distinguished with\n * {@link IArray} type just by this `discriminator` property.\n *\n * To check whether the type is tuple or array, you have to check\n * the existence of {@link IArray.items} or {@link ITuple.prefixItems}\n * properties.\n */\n type: \"array\";\n /**\n * Prefix items.\n *\n * The `prefixItems` means the type schema info of the prefix items in the\n * tuple type. In the TypeScript, it is expressed as `[T1, T2]`.\n *\n * If you want to express `[T1, T2, ...TO[]]` type, you can configure the\n * `...TO[]` through the {@link additionalItems} property.\n */\n prefixItems: IJsonSchema[];\n /**\n * Additional items.\n *\n * The `additionalItems` means the type schema info of the additional items\n * after the {@link prefixItems}. In the TypeScript, if there's a type\n * `[T1, T2, ...TO[]]`, the `...TO[]` is represented by the `additionalItems`.\n *\n * By the way, if you configure the `additionalItems` as `true`, it means\n * the additional items are not restricted. They can be any type, so that\n * it is equivalent to the TypeScript type `[T1, T2, ...any[]]`.\n *\n * Otherwise configure the `additionalItems` as the {@link IJsonSchema},\n * it means the additional items must follow the type schema info.\n * Therefore, it is equivalent to the TypeScript type `[T1, T2, ...TO[]]`.\n */\n additionalItems?: boolean | IJsonSchema;\n /**\n * Unique items restriction.\n *\n * If this property value is `true`, target tuple must have unique items.\n */\n uniqueItems?: boolean;\n /**\n * Minimum items restriction.\n *\n * Restriction of minimum number of items in the tuple.\n *\n * @type uint64\n */\n minItems?: number;\n /**\n * Maximum items restriction.\n *\n * Restriction of maximum number of items in the tuple.\n *\n * @type uint64\n */\n maxItems?: number;\n }\n /**\n * Object type info.\n */\n interface IObject extends IJsonSchemaAttribute.IObject {\n /**\n * Properties of the object.\n *\n * The `properties` means a list of key-value pairs of the object's\n * regular properties. The key is the name of the regular property,\n * and the value is the type schema info.\n *\n * If you need additional properties that is represented by dynamic key,\n * you can use the {@link additionalProperties} instead.\n */\n properties?: Record<string, IJsonSchema>;\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * If the value is `true`, it means that the additional properties are not\n * restricted. They can be any type. Otherwise, if the value is\n * {@link IJsonSchema} type, it means that the additional properties must\n * follow the type schema info.\n *\n * - `true`: `Record<string, any>`\n * - `IJsonSchema`: `Record<string, T>`\n */\n additionalProperties?: boolean | IJsonSchema;\n /**\n * List of key values of the required properties.\n *\n * The `required` means a list of the key values of the required\n * {@link properties}. If some property key is not listed in the `required`\n * list, it means that property is optional. Otherwise some property key\n * exists in the `required` list, it means that the property must be filled.\n *\n * Below is an example of the {@link properties} and `required`.\n *\n * ```typescript\n * interface SomeObject {\n * id: string;\n * email: string;\n * name?: string;\n * }\n * ```\n *\n * As you can see, `id` and `email` {@link properties} are {@link required},\n * so that they are listed in the `required` list.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"id\": { \"type\": \"string\" },\n * \"email\": { \"type\": \"string\" },\n * \"name\": { \"type\": \"string\" }\n * },\n * \"required\": [\"id\", \"email\"]\n * }\n * ```\n */\n required?: string[];\n }\n /**\n * Reference type directing named schema.\n */\n interface IReference<Key = string> extends IJsonSchemaAttribute {\n /**\n * Reference to the named schema.\n *\n * The `ref` is a reference to the named schema. Format of the `$ref` is\n * following the JSON Pointer specification. In the OpenAPI, the `$ref`\n * starts with `#/components/schemas/` which means the type is stored in\n * the {@link OpenApi.IComponents.schemas} object.\n *\n * - `#/components/schemas/SomeObject`\n * - `#/components/schemas/AnotherObject`\n */\n $ref: Key;\n }\n /**\n * Union type.\n *\n * `IOneOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has\n * defined `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly\n * converts it to `oneOf` type.\n */\n interface IOneOf extends IJsonSchemaAttribute {\n /**\n * List of the union types.\n */\n oneOf: Exclude<IJsonSchema, IJsonSchema.IOneOf>[];\n /**\n * Discriminator info of the union type.\n */\n discriminator?: IOneOf.IDiscriminator;\n }\n namespace IOneOf {\n /**\n * Discriminator info of the union type.\n */\n interface IDiscriminator {\n /**\n * Property name for the discriminator.\n */\n propertyName: string;\n /**\n * Mapping of the discriminator value to the schema name.\n *\n * This property is valid only for {@link IReference} typed\n * {@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is\n * the discriminator value, and `value` of `mapping` is the\n * schema name like `#/components/schemas/SomeObject`.\n */\n mapping?: Record<string, string>;\n }\n }\n /**\n * Null type.\n */\n interface INull extends IJsonSchemaAttribute.INull {\n /**\n * Default value of the `null` type.\n */\n default?: null;\n }\n /**\n * Unknown, the `any` type.\n */\n interface IUnknown extends IJsonSchemaAttribute.IUnknown {\n /**\n * Default value of the `any` type.\n */\n default?: any;\n }\n /**\n * Significant attributes that can be applied to the most types.\n *\n * @deprecated\n * @hidden\n */\n interface __ISignificant<Type extends string> extends IJsonSchemaAttribute {\n /**\n * Discriminator value of the type.\n */\n type: Type;\n }\n /**\n * Common attributes that can be applied to all types.\n *\n * @deprecated\n * @hidden\n */\n type __IAttribute = IJsonSchemaAttribute;\n }\n /**\n * Security scheme of Swagger Documents.\n *\n * `OpenApi.ISecurityScheme` is a data structure representing content of\n * `securitySchemes` in `swagger.json` file. It is composed with 5 types of\n * security schemes as an union type like below.\n *\n * @reference https://swagger.io/specification/#security-scheme-object\n */\n type ISecurityScheme = ISecurityScheme.IApiKey | ISecurityScheme.IHttpBasic | ISecurityScheme.IHttpBearer | ISecurityScheme.IOAuth2 | ISecurityScheme.IOpenId;\n namespace ISecurityScheme {\n /**\n * Normal API key type.\n */\n interface IApiKey {\n type: \"apiKey\";\n in?: \"header\" | \"query\" | \"cookie\";\n name?: string;\n description?: string;\n }\n /**\n * HTTP basic authentication type.\n */\n interface IHttpBasic {\n type: \"http\";\n scheme: \"basic\";\n description?: string;\n }\n /**\n * HTTP bearer authentication type.\n */\n interface IHttpBearer {\n type: \"http\";\n scheme: \"bearer\";\n bearerFormat?: string;\n description?: string;\n }\n /**\n * OAuth2 authentication type.\n */\n interface IOAuth2 {\n type: \"oauth2\";\n flows: IOAuth2.IFlowSet;\n description?: string;\n }\n interface IOpenId {\n type: \"openIdConnect\";\n openIdConnectUrl: string;\n description?: string;\n }\n namespace IOAuth2 {\n interface IFlowSet {\n authorizationCode?: IFlow;\n implicit?: Omit<IFlow, \"tokenUrl\">;\n password?: Omit<IFlow, \"authorizationUrl\">;\n clientCredentials?: Omit<IFlow, \"authorizationUrl\">;\n }\n interface IFlow {\n authorizationUrl?: string;\n tokenUrl?: string;\n refreshUrl?: string;\n scopes?: Record<string, string>;\n }\n }\n }\n}\n",
12448
+ "node_modules/@samchon/openapi/lib/HttpLlm.d.ts": "import { OpenApi } from \"./OpenApi\";\nimport { OpenApiV3 } from \"./OpenApiV3\";\nimport { OpenApiV3_1 } from \"./OpenApiV3_1\";\nimport { SwaggerV2 } from \"./SwaggerV2\";\nimport { IHttpConnection } from \"./structures/IHttpConnection\";\nimport { IHttpLlmApplication } from \"./structures/IHttpLlmApplication\";\nimport { IHttpLlmFunction } from \"./structures/IHttpLlmFunction\";\nimport { IHttpResponse } from \"./structures/IHttpResponse\";\nimport { ILlmFunction } from \"./structures/ILlmFunction\";\nimport { ILlmSchema } from \"./structures/ILlmSchema\";\n/**\n * LLM function calling application composer from OpenAPI document.\n *\n * `HttpLlm` is a module for composing LLM (Large Language Model) function\n * calling application from the {@link OpenApi.IDocument OpenAPI document}, and\n * also for LLM function call execution and parameter merging.\n *\n * At first, you can construct the LLM function calling application by the\n * {@link HttpLlm.application HttpLlm.application()} function. And then the LLM\n * has selected a {@link IHttpLlmFunction function} to call and composes its\n * arguments, you can execute the function by\n * {@link HttpLlm.execute HttpLlm.execute()} or\n * {@link HttpLlm.propagate HttpLlm.propagate()}.\n *\n * By the way, if you have configured the\n * {@link IHttpLlmApplication.IOptions.separate} option to separate the\n * parameters into human and LLM sides, you can merge these human and LLM sides'\n * parameters into one through\n * {@link HttpLlm.mergeParameters HttpLlm.mergeParameters()} before the actual\n * LLM function call execution.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace HttpLlm {\n /**\n * Properties for the LLM function calling application composer.\n *\n * @template Model Target LLM model\n */\n interface IApplicationProps<Model extends ILlmSchema.Model> {\n /** Target LLM model. */\n model: Model;\n /** OpenAPI document to convert. */\n document: OpenApi.IDocument | SwaggerV2.IDocument | OpenApiV3.IDocument | OpenApiV3_1.IDocument;\n /** Options for the LLM function calling schema conversion. */\n options?: Partial<IHttpLlmApplication.IOptions<Model>>;\n }\n /**\n * Convert OpenAPI document to LLM function calling application.\n *\n * Converts {@link OpenApi.IDocument OpenAPI document} or\n * {@link IHttpMigrateApplication migrated application} to the\n * {@link IHttpLlmApplication LLM function calling application}. Every\n * {@link OpenApi.IOperation API operations} in the OpenAPI document are\n * converted to the {@link IHttpLlmFunction LLM function} type, and they would\n * be used for the LLM function calling.\n *\n * If you have configured the {@link IHttpLlmApplication.IOptions.separate}\n * option, every parameters in the {@link IHttpLlmFunction} would be separated\n * into both human and LLM sides. In that case, you can merge these human and\n * LLM sides' parameters into one through {@link HttpLlm.mergeParameters}\n * before the actual LLM function call execution.\n *\n * Additionally, if you have configured the\n * {@link IHttpLlmApplication.IOptions.keyword} as `true`, the number of\n * {@link IHttpLlmFunction.parameters} are always 1 and the first parameter\n * type is always {@link ILlmSchemaV3.IObject}. I recommend this option because\n * LLM can understand the keyword arguments more easily.\n *\n * @param props Properties for composition\n * @returns LLM function calling application\n */\n const application: <Model extends ILlmSchema.Model>(props: IApplicationProps<Model>) => IHttpLlmApplication<Model>;\n /** Properties for the LLM function call. */\n interface IFetchProps<Model extends ILlmSchema.Model> {\n /** Application of the LLM function calling. */\n application: IHttpLlmApplication<Model>;\n /** LLM function schema to call. */\n function: IHttpLlmFunction<ILlmSchema.Model>;\n /** Connection info to the HTTP server. */\n connection: IHttpConnection;\n /** Input arguments for the function call. */\n input: object;\n }\n /**\n * Execute the LLM function call.\n *\n * `HttmLlm.execute()` is a function executing the target\n * {@link OpenApi.IOperation API endpoint} with with the connection information\n * and arguments composed by Large Language Model like OpenAI (+human\n * sometimes).\n *\n * By the way, if you've configured the\n * {@link IHttpLlmApplication.IOptions.separate}, so that the parameters are\n * separated to human and LLM sides, you have to merge these humand and LLM\n * sides' parameters into one through {@link HttpLlm.mergeParameters}\n * function.\n *\n * About the {@link IHttpLlmApplication.IOptions.keyword} option, don't worry\n * anything. This `HttmLlm.execute()` function will automatically recognize\n * the keyword arguments and convert them to the proper sequence.\n *\n * For reference, if the target API endpoinnt responds none 200/201 status,\n * this would be considered as an error and the {@link HttpError} would be\n * thrown. Otherwise you don't want such rule, you can use the\n * {@link HttpLlm.propagate} function instead.\n *\n * @param props Properties for the LLM function call\n * @returns Return value (response body) from the API endpoint\n * @throws HttpError when the API endpoint responds none 200/201 status\n */\n const execute: <Model extends ILlmSchema.Model>(props: IFetchProps<Model>) => Promise<unknown>;\n /**\n * Propagate the LLM function call.\n *\n * `HttmLlm.propagate()` is a function propagating the target\n * {@link OpenApi.IOperation API endpoint} with with the connection information\n * and arguments composed by Large Language Model like OpenAI (+human\n * sometimes).\n *\n * By the way, if you've configured the\n * {@link IHttpLlmApplication.IOptions.separate}, so that the parameters are\n * separated to human and LLM sides, you have to merge these humand and LLM\n * sides' parameters into one through {@link HttpLlm.mergeParameters}\n * function.\n *\n * About the {@link IHttpLlmApplication.IOptions.keyword} option, don't worry\n * anything. This `HttmLlm.propagate()` function will automatically recognize\n * the keyword arguments and convert them to the proper sequence.\n *\n * For reference, the propagation means always returning the response from the\n * API endpoint, even if the status is not 200/201. This is useful when you\n * want to handle the response by yourself.\n *\n * @param props Properties for the LLM function call\n * @returns Response from the API endpoint\n * @throws Error only when the connection is failed\n */\n const propagate: <Model extends ILlmSchema.Model>(props: IFetchProps<Model>) => Promise<IHttpResponse>;\n /** Properties for the parameters' merging. */\n interface IMergeProps<Model extends ILlmSchema.Model> {\n /** Metadata of the target function. */\n function: ILlmFunction<Model>;\n /** Arguments composed by the LLM. */\n llm: object | null;\n /** Arguments composed by the human. */\n human: object | null;\n }\n /**\n * Merge the parameters.\n *\n * If you've configured the {@link IHttpLlmApplication.IOptions.separate}\n * option, so that the parameters are separated to human and LLM sides, you\n * can merge these humand and LLM sides' parameters into one through this\n * `HttpLlm.mergeParameters()` function before the actual LLM function call\n * wexecution.\n *\n * On contrary, if you've not configured the\n * {@link IHttpLlmApplication.IOptions.separate} option, this function would\n * throw an error.\n *\n * @param props Properties for the parameters' merging\n * @returns Merged parameter values\n */\n const mergeParameters: <Model extends ILlmSchema.Model>(props: IMergeProps<Model>) => object;\n /**\n * Merge two values.\n *\n * If both values are objects, then combines them in the properties level.\n *\n * Otherwise, returns the latter value if it's not null, otherwise the former\n * value.\n *\n * - `return (y ?? x)`\n *\n * @param x Value X to merge\n * @param y Value Y to merge\n * @returns Merged value\n */\n const mergeValue: (x: unknown, y: unknown) => unknown;\n}\n",
12449
+ "node_modules/@samchon/openapi/lib/HttpMigration.d.ts": "import { OpenApi } from \"./OpenApi\";\nimport { OpenApiV3 } from \"./OpenApiV3\";\nimport { OpenApiV3_1 } from \"./OpenApiV3_1\";\nimport { SwaggerV2 } from \"./SwaggerV2\";\nimport { IHttpConnection } from \"./structures/IHttpConnection\";\nimport { IHttpMigrateApplication } from \"./structures/IHttpMigrateApplication\";\nimport { IHttpMigrateRoute } from \"./structures/IHttpMigrateRoute\";\nimport { IHttpResponse } from \"./structures/IHttpResponse\";\n/**\n * HTTP migration application composer from OpenAPI document.\n *\n * `HttpMigration` is a module for composing HTTP migration application from the\n * {@link OpenApi.IDocument OpenAPI document}. It is designed for helping the\n * OpenAPI generator libraries, which converts\n * {@link OpenApi.IOperation OpenAPI operations} to an RPC (Remote Procedure\n * Call) function.\n *\n * The key feature of the `HttpModule` is the {@link HttpMigration.application}\n * function. It converts the {@link OpenApi.IOperation OpenAPI operations} to the\n * {@link IHttpMigrateRoute HTTP migration route}, and it normalizes the OpenAPI\n * operations to the RPC function calling suitable route structure.\n *\n * The other functions, {@link HttpMigration.execute} and\n * {@link HttpMigration.propagate}, are for executing the HTTP request to the\n * HTTP server. The {@link HttpMigration.execute} function returns the response\n * body from the API endpoint when the status code is `200` or `201`. Otherwise,\n * it throws an {@link HttpError} when the status code is not `200` or `201`. The\n * {@link HttpMigration.propagate} function returns the response information from\n * the API endpoint, including the status code, headers, and response body.\n *\n * The {@link HttpLlm} module is a good example utilizing this `HttpMigration`\n * module for composing RPC function calling application. The {@link HttpLlm}\n * module composes LLM (Large Language Model) function calling application from\n * the OpenAPI document bypassing through the {@link IHttpLlmApplication} type.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace HttpMigration {\n /**\n * Convert HTTP migration application from OpenAPI document.\n *\n * `HttpMigration.application()` is a function converting the\n * {@link OpenApi.IDocument OpenAPI document} and its\n * {@link OpenApi.IOperation operations} to the\n * {@link IHttpMigrateApplication HTTP migration application}.\n *\n * The HTTP migration application is designed for helping the OpenAPI\n * generator libraries, which converts OpenAPI operations to an RPC (Remote\n * Procedure Call) function. To support the OpenAPI generator libraries,\n * {@link IHttpMigrateRoute} takes below normalization rules:\n *\n * - Path parameters are separated to atomic level.\n * - Query parameters are binded into one object.\n * - Header parameters are binded into one object.\n * - Allow only below HTTP methods\n *\n * - `head`\n * - `get`\n * - `post`\n * - `put`\n * - `patch`\n * - `delete`\n * - Allow only below content media types\n *\n * - `application/json`\n * - `application/x-www-form-urlencoded`\n * - `multipart/form-data`\n * - `text/plain`\n *\n * If there're some {@link OpenApi.IOperation API operations} which canont\n * adjust the above rules or there're some logically insensible, these\n * operation would be failed to migrate and registered into the\n * {@link IHttpMigrateApplication.errors}.\n *\n * @param document OpenAPI document to migrate.\n * @returns Migrated application.\n */\n const application: (document: OpenApi.IDocument | SwaggerV2.IDocument | OpenApiV3.IDocument | OpenApiV3_1.IDocument) => IHttpMigrateApplication;\n /** Properties for the request to the HTTP server. */\n interface IFetchProps {\n /** Connection info to the HTTP server. */\n connection: IHttpConnection;\n /** Route information for the migration. */\n route: IHttpMigrateRoute;\n /**\n * Path parameters.\n *\n * Path parameters with sequenced array or key-value paired object.\n */\n parameters: Array<string | number | boolean | bigint | null> | Record<string, string | number | boolean | bigint | null>;\n /** Query parameters as a key-value paired object. */\n query?: object | undefined;\n /** Request body data. */\n body?: object | undefined;\n }\n /**\n * Execute the HTTP request.\n *\n * `HttpMigration.execute()` is a function executing the HTTP request to the\n * HTTP server.\n *\n * It returns the response body from the API endpoint when the status code is\n * `200` or `201`. Otherwise, it throws an {@link HttpError} when the status\n * code is not `200` or `201`.\n *\n * If you want to get more information than the response body, or get the\n * detailed response information even when the status code is `200` or `201`,\n * use the {@link HttpMigration.propagate} function instead.\n *\n * @param props Properties for the request.\n * @returns Return value (response body) from the API endpoint.\n * @throws HttpError when the API endpoint responds none 200/201 status.\n */\n const execute: (props: IFetchProps) => Promise<unknown>;\n /**\n * Propagate the HTTP request.\n *\n * `HttpMigration.propagate()` is a function propagating the request to the\n * HTTP server.\n *\n * It returns the response information from the API endpoint, including the\n * status code, headers, and response body.\n *\n * Even if the status code is not `200` or `201`, this function would return\n * the response information. By the way, if the connection to the HTTP server\n * is failed, this function would throw an {@link Error}.\n *\n * @param props Properties for the request.\n * @returns Response from the API endpoint.\n * @throws Error when the connection is failed.\n */\n const propagate: (props: IFetchProps) => Promise<IHttpResponse>;\n}\n",
12450
+ "node_modules/@samchon/openapi/lib/McpLlm.d.ts": "import { ILlmSchema } from \"./structures/ILlmSchema\";\nimport { IMcpLlmApplication } from \"./structures/IMcpLlmApplication\";\nimport { IMcpTool } from \"./structures/IMcpTool\";\n/**\n * Application of LLM function calling from MCP document.\n *\n * `McpLlm` is a module for composing LLM (Large Language Model) function\n * calling application from MCP (Model Context Protocol) document.\n *\n * The reasons why `@samchon/openapi` recommends to use the function calling\n * feature instead of directly using the\n * [`mcp_servers`](https://openai.github.io/openai-agents-python/mcp/#using-mcp-servers)\n * property of LLM API are:\n *\n * - Model Specification: {@link ILlmSchema}\n * - Validation Feedback: {@link IMcpLlmFunction.validate}\n * - Selector agent for reducing context: [Agentica > Orchestration\n * Strategy](https://wrtnlabs.io/agentica/docs/concepts/function-calling/#orchestration-strategy)\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace McpLlm {\n /**\n * Properties for the LLM function calling application composer.\n *\n * @template Model Target LLM model\n */\n interface IApplicationProps<Model extends ILlmSchema.Model> {\n /** Target LLM model. */\n model: Model;\n /**\n * List of tools.\n *\n * A list of tools defined in the MCP (Model Context Protocol) document.\n *\n * It would better to validate the tools by\n * [`typia.assert<T>()`](https://typia.io/docs/validate/assert) function for\n * the type safety.\n */\n tools: Array<IMcpTool>;\n /** Options for the LLM function calling schema conversion. */\n options?: Partial<IMcpLlmApplication.IOptions<Model>>;\n }\n /**\n * Convert MCP document to LLM function calling application.\n *\n * Converts MCP (Model Context Protocol) to LLM (Large Language Model)\n * function calling application.\n *\n * The reasons why `@samchon/openapi` recommends to use the function calling\n * feature instead of directly using the\n * [`mcp_servers`](https://openai.github.io/openai-agents-python/mcp/#using-mcp-servers)\n * property of LLM API are:\n *\n * - Model Specification: {@link ILlmSchema}\n * - Validation Feedback: {@link IMcpLlmFunction.validate}\n * - Selector agent for reducing context: [Agentica > Orchestration\n * Strategy](https://wrtnlabs.io/agentica/docs/concepts/function-calling/#orchestration-strategy)\n *\n * @param props Properties for composition\n * @returns LLM function calling application\n */\n const application: <Model extends ILlmSchema.Model>(props: IApplicationProps<Model>) => IMcpLlmApplication<Model>;\n}\n",
12451
+ "node_modules/@samchon/openapi/lib/OpenApi.d.ts": "import { OpenApiV3 } from \"./OpenApiV3\";\nimport { OpenApiV3_1 } from \"./OpenApiV3_1\";\nimport { SwaggerV2 } from \"./SwaggerV2\";\nimport { IJsonSchemaAttribute } from \"./structures/IJsonSchemaAttribute\";\n/**\n * Emended OpenAPI v3.1 definition used by `typia` and `nestia`.\n *\n * `OpenApi` is a namespace containing functions and interfaces for emended\n * OpenAPI v3.1 specification. The keyword \"emended\" means that `OpenApi` is not\n * a direct OpenAPI v3.1 specification ({@link OpenApiV3_1}), but a little bit\n * shrunk to remove ambiguous and duplicated expressions of OpenAPI v3.1 for the\n * convenience of `typia` and `nestia`.\n *\n * For example, when representing nullable type, OpenAPI v3.1 supports three\n * ways. In that case, `OpenApi` remains only the third way, so that makes\n * `typia` and `nestia` (especially `@nestia/editor`) to be simple and easy to\n * implement.\n *\n * 1. `{ type: [\"string\", \"null\"] }`\n * 2. `{ type: \"string\", nullable: true }`\n * 3. `{ oneOf: [{ type: \"string\" }, { type: \"null\" }] }`\n *\n * Here is the entire list of differences between OpenAPI v3.1 and emended\n * `OpenApi`.\n *\n * - Operation\n *\n * - Merge {@link OpenApiV3_1.IPath.parameters} to\n * {@link OpenApi.IOperation.parameters}\n * - Resolve {@link OpenApi.IJsonSchema.IReference references} of\n * {@link OpenApiV3_1.IOperation} members\n * - Escape references of {@link OpenApiV3_1.IComponents.examples}\n * - JSON Schema\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property:\n * {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Array type utilizes only single {@link OpenApi.IJsonSchema.IArray.items}\n * - Tuple type utilizes only {@link OpenApi.IJsonSchema.ITuple.prefixItems}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to\n * {@link OpenApi.IJsonSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to\n * {@link OpenApi.IJsonSchema.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n * {@link OpenApi.IJsonSchema.IReference}\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace OpenApi {\n /** Method of the operation. */\n type Method = \"get\" | \"post\" | \"put\" | \"delete\" | \"options\" | \"head\" | \"patch\" | \"trace\";\n /**\n * Convert Swagger or OpenAPI document into emended OpenAPI v3.1 document.\n *\n * @param input Swagger or OpenAPI document to convert\n * @returns Emended OpenAPI v3.1 document\n */\n function convert(input: SwaggerV2.IDocument | OpenApiV3.IDocument | OpenApiV3_1.IDocument | OpenApi.IDocument): IDocument;\n /**\n * Downgrade to Swagger v2.0 document.\n *\n * Downgrade the given document (emeneded OpenAPI v3.1) into Swagger v2.0.\n *\n * @param document Emended OpenAPI v3.1 document to downgrade\n * @param version Version to downgrade\n * @returns Swagger v2.0 document\n */\n function downgrade(document: IDocument, version: \"2.0\"): SwaggerV2.IDocument;\n /**\n * Downgrade to OpenAPI v3.0 document.\n *\n * Downgrade the given document (emeneded OpenAPI v3.1) into OpenAPI v3.0.\n *\n * @param document Emended OpenAPI v3.1 document to downgrade\n * @param version Version to downgrade\n * @returns OpenAPI v3.0 document\n */\n function downgrade(document: IDocument, version: \"3.0\"): OpenApiV3.IDocument;\n /**\n * OpenAPI document.\n *\n * `OpenApi.IDocument` represents an OpenAPI document of emended OpenAPI v3.1.\n *\n * In other words, `OpenApi.IDocument` is a structure of `swagger.json` file\n * of OpenAPI v3.1 specification, but a little bit shrunk to remove ambiguous\n * and duplicated expressions of OpenAPI v3.1 for the convenience and\n * clarity.\n */\n interface IDocument {\n /** OpenAPI version number. */\n openapi: `3.1.${number}`;\n /** List of servers that provide the API. */\n servers?: IServer[];\n /** Information about the API. */\n info?: IDocument.IInfo;\n /**\n * An object to hold reusable data structures.\n *\n * It stores both DTO schemas and security schemes.\n *\n * For reference, `nestia` defines every object and alias types as reusable\n * DTO schemas. The alias type means that defined by `type` keyword in\n * TypeScript.\n */\n components: IComponents;\n /**\n * The available paths and operations for the API.\n *\n * The 1st key is the path, and the 2nd key is the HTTP method.\n */\n paths?: Record<string, IPath>;\n /**\n * An object to hold Webhooks.\n *\n * Its structure is same with {@link paths}, so that the 1st key is the path,\n * and the 2nd key is the HTTP method.\n */\n webhooks?: Record<string, IPath>;\n /**\n * A declaration of which security mechanisms can be used across the API.\n *\n * When this property be configured, it would be overwritten in every API\n * routes.\n *\n * For reference, key means the name of security scheme and value means the\n * `scopes`. The `scopes` can be used only when target security scheme is\n * `oauth2` type, especially for\n * {@link ISwaggerSecurityScheme.IOAuth2.IFlow.scopes} property.\n */\n security?: Record<string, string[]>[];\n /**\n * List of tag names with description.\n *\n * It is possible to omit this property or skip some tag name even if the\n * tag name is used in the API routes. In that case, the tag name would be\n * displayed (in Swagger-UI) without description.\n */\n tags?: IDocument.ITag[];\n /** Flag for indicating this document is emended by `@samchon/openapi` v4. */\n \"x-samchon-emended-v4\": true;\n }\n namespace IDocument {\n /** Information about the API. */\n interface IInfo {\n /** The title of the API. */\n title: string;\n /** A short summary of the API. */\n summary?: string;\n /** A full description of the API. */\n description?: string;\n /** A URL to the Terms of Service for the API. */\n termsOfService?: string;\n /** The contact information for the exposed API. */\n contact?: IContact;\n /** The license information for the exposed API. */\n license?: ILicense;\n /** Version of the API. */\n version: string;\n }\n /**\n * OpenAPI tag information.\n *\n * It is possible to skip composing this structure, even if some tag names\n * are registered in the API routes ({@link OpenApi.IOperation.tags}). In\n * that case, the tag name would be displayed in Swagger-UI without\n * description.\n *\n * However, if you want to describe the tag name, you can compose this\n * structure and describe the tag name in the {@link description} property.\n */\n interface ITag {\n /** The name of the tag. */\n name: string;\n /** An optional string describing the tag. */\n description?: string;\n }\n /** Contact information for the exposed API. */\n interface IContact {\n /** The identifying name of the contact person/organization. */\n name?: string;\n /** The URL pointing to the contact information. */\n url?: string;\n /**\n * The email address of the contact person/organization.\n *\n * @format email\n */\n email?: string;\n }\n /** License information for the exposed API. */\n interface ILicense {\n /** The license name used for the API. */\n name: string;\n /**\n * Identifier for the license used for the API.\n *\n * Example: MIT\n */\n identifier?: string;\n /** A URL to the license used for the API. */\n url?: string;\n }\n }\n /** The remote server that provides the API. */\n interface IServer {\n /** A URL to the target host. */\n url: string;\n /** An optional string describing the target server. */\n description?: string;\n /**\n * A map between a variable name and its value.\n *\n * When the server {@link url} is a type of template, this property would be\n * utilized to fill the template with actual values.\n */\n variables?: Record<string, IServer.IVariable>;\n }\n namespace IServer {\n /** A variable for the server URL template. */\n interface IVariable {\n /** Default value to use for substitution. */\n default: string;\n /** List of available values for the variable. */\n enum?: string[];\n /** An optional description for the server variable. */\n description?: string;\n }\n }\n /**\n * Path item.\n *\n * `OpenApi.IPath` represents a path item of emended OpenAPI v3.1, collecting\n * multiple method operations in a single path.\n */\n interface IPath extends Partial<Record<Method, IOperation>> {\n /** Servers that provide the path operations. */\n servers?: IServer[];\n /** Summary of the path. */\n summary?: string;\n /** Description of the path. */\n description?: string;\n }\n /**\n * Remote operation info.\n *\n * `OpenApi.IOperation` represents an Restful API operation provided by the\n * remote server.\n */\n interface IOperation {\n /** Unique string used to identify the operation. */\n operationId?: string;\n /** List of parameters that are applicable for this operation. */\n parameters?: IOperation.IParameter[];\n /** The request body applicable for this operation. */\n requestBody?: IOperation.IRequestBody;\n /**\n * The list of possible responses as they are returned from executing this\n * operation. Its key is the HTTP status code, and the value is the metadata\n * of the response in the HTTP status code.\n */\n responses?: Record<string, IOperation.IResponse>;\n /** A list of servers providing this API operation. */\n servers?: IServer[];\n /** A short summary of what the operation does. */\n summary?: string;\n /** A verbose explanation of the operation behavior. */\n description?: string;\n /**\n * List of securities and their scopes that are required for execution.\n *\n * When this property be configured, the Restful API operation requires the\n * matched security value for execution. Its key means security key matched\n * with {@link OpenApi.IDocument.security}.\n *\n * The value means scopes required for the security key when the security\n * type is {@link OpenApi.ISecurityScheme.IOAuth2}. Otherwise the target\n * security type is not {@link OpenApi.ISecurityScheme.IOAuth2}, the value\n * would be empty array.\n */\n security?: Record<string, string[]>[];\n /** Tags for API documentation control. */\n tags?: string[];\n /** Flag for indicating this operation is deprecated. */\n deprecated?: boolean;\n /**\n * Flag for indicating this operation is human-only.\n *\n * If this property value is `true`, {@link HttpLlm.application} function\n * will not convert this operation schema into the LLM function calling\n * schema that is represented by the {@link IHttpLlmFunction} interface.\n */\n \"x-samchon-human\"?: boolean;\n /**\n * Accessor of the operation.\n *\n * If you configure this property, the assigned value would be used as\n * {@link IHttpMigrateRoute.accessor}. Also, it also can be used as the\n * {@link IHttpLlmFunction.name} by joininig with `.` character in the LLM\n * function calling application.\n *\n * Note that, the `x-samchon-accessor` value must be unique in the entire\n * OpenAPI document operations. If there're duplicated `x-samchon-accessor`\n * values, {@link IHttpMigrateRoute.accessor} will ignore every duplicated\n * `x-samchon-accessor` values and generate the\n * {@link IHttpMigrateRoute.accessor} by itself.\n */\n \"x-samchon-accessor\"?: string[];\n /**\n * Controller of the operation.\n *\n * If you configure this property, the assigned value would be utilized as\n * the controller name in the OpenAPI generator library like\n * [`@nestia/editor`](https://nestia.io/docs/editor/) and\n * [`@nestia/migrate`](https://nestia.io/docs/migrate/).\n *\n * Also, if {@link x-samchon-accessor} has been configured, its last element\n * would be used as the controller method (function) name. Of course, the\n * OpenAPI document generator `@nestia/sdk` fills both of them.\n */\n \"x-samchon-controller\"?: string;\n }\n namespace IOperation {\n /** Parameter of the operation. */\n interface IParameter {\n /**\n * Representative name of the parameter.\n *\n * In the most case, the `name` is equivalent to parameter variable name.\n * Therefore, the `name` must be filled with the significant variable name\n * of the parameter.\n *\n * By the way, only when the {@link in} property is `path`, the `name` can\n * be omitted. In that case, the `name` is automatically deduced from the\n * URL path's positional template argument analyzing.\n */\n name?: string;\n /**\n * Location of the parameter.\n *\n * The `in` property is a string that determines the location of the\n * parameter.\n *\n * - `path`: parameter is part of the path of the URL.\n * - `query`: parameter is part of the query string.\n * - `header`: parameter is part of the header.\n * - `cookie`: parameter is part of the cookie.\n */\n in: \"path\" | \"query\" | \"header\" | \"cookie\";\n /** Type info of the parameter. */\n schema: IJsonSchema;\n /**\n * Whether the parameter is required for execution or not.\n *\n * If the parameter is required, the value must be filled. Otherwise, it\n * is possible to skip the parameter when executing the APi operation.\n *\n * For reference, the `required` property must be always `true` when the\n * {@link in} property is `path`. Otherwise, the `required` property can be\n * anything of them; `true`, `false` and `undefined`.\n */\n required?: boolean;\n /** Short title of the parameter. */\n title?: string;\n /** Verbose explanation of the parameter. */\n description?: string;\n /** Example value of the parameter. */\n example?: any;\n /** Collection of example values of the parameter with keys. */\n examples?: Record<string, IExample>;\n }\n /** Request body of the operation. */\n interface IRequestBody {\n content?: IContent;\n description?: string;\n required?: boolean;\n \"x-nestia-encrypted\"?: boolean;\n }\n /** Response of the operation. */\n interface IResponse {\n headers?: Record<string, IOperation.IParameter>;\n content?: IContent;\n description?: string;\n \"x-nestia-encrypted\"?: boolean;\n }\n /** List of content types supported in request/response body. */\n interface IContent extends Partial<Record<ContentType, IMediaType>> {\n }\n /** Media type of a request/response body. */\n interface IMediaType {\n schema?: IJsonSchema;\n example?: any;\n examples?: Record<string, IExample>;\n }\n /** List of supported content media types. */\n type ContentType = \"text/plain\" | \"application/json\" | \"application/x-www-form-url-encoded\" | \"multipart/form-data\" | \"*/*\" | (string & {});\n }\n /** Example of the operation parameter or response. */\n interface IExample {\n summary?: string;\n description?: string;\n value?: any;\n externalValue?: string;\n }\n /**\n * Reusable components in OpenAPI.\n *\n * A storage of reusable components in OpenAPI document.\n *\n * In other words, it is a storage of named DTO schemas and security schemes.\n */\n interface IComponents {\n /**\n * An object to hold reusable DTO schemas.\n *\n * In other words, a collection of named JSON schemas.\n */\n schemas?: Record<string, IJsonSchema>;\n /**\n * An object to hold reusable security schemes.\n *\n * In other words, a collection of named security schemes.\n */\n securitySchemes?: Record<string, ISecurityScheme>;\n }\n /**\n * Type schema info.\n *\n * `OpenApi.IJsonSchema` is a type schema info of the OpenAPI.\n *\n * `OpenApi.IJsonSchema` basically follows the JSON schema definition of\n * OpenAPI v3.1, but a little bit shrunk to remove ambiguous and duplicated\n * expressions of OpenAPI v3.1 for the convenience and clarity.\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property:\n * {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Array type utilizes only single {@link OpenAPI.IJsonSchema.IArray.items}\n * - Tuple type utilizes only {@link OpenApi.IJsonSchema.ITuple.prefixItems}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to\n * {@link OpenApi.IJsonSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to\n * {@link OpenApi.IJsonSchema.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n * {@link OpenApi.IJsonSchema.IReference}\n */\n type IJsonSchema = IJsonSchema.IConstant | IJsonSchema.IBoolean | IJsonSchema.IInteger | IJsonSchema.INumber | IJsonSchema.IString | IJsonSchema.IArray | IJsonSchema.ITuple | IJsonSchema.IObject | IJsonSchema.IReference | IJsonSchema.IOneOf | IJsonSchema.INull | IJsonSchema.IUnknown;\n namespace IJsonSchema {\n /** Constant value type. */\n interface IConstant extends IJsonSchemaAttribute {\n /** The constant value. */\n const: boolean | number | string;\n }\n /** Boolean type info. */\n interface IBoolean extends IJsonSchemaAttribute.IBoolean {\n /** The default value of the boolean type. */\n default?: boolean;\n }\n /** Integer type info. */\n interface IInteger extends IJsonSchemaAttribute.IInteger {\n /**\n * Default value of the integer type.\n *\n * @type int64\n */\n default?: number;\n /**\n * Minimum value restriction.\n *\n * @type int64\n */\n minimum?: number;\n /**\n * Maximum value restriction.\n *\n * @type int64\n */\n maximum?: number;\n /** Exclusive minimum value restriction. */\n exclusiveMinimum?: number;\n /** Exclusive maximum value restriction. */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @type uint64\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /** Number (double) type info. */\n interface INumber extends IJsonSchemaAttribute.INumber {\n /** Default value of the number type. */\n default?: number;\n /** Minimum value restriction. */\n minimum?: number;\n /** Maximum value restriction. */\n maximum?: number;\n /** Exclusive minimum value restriction. */\n exclusiveMinimum?: number;\n /** Exclusive maximum value restriction. */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /** String type info. */\n interface IString extends IJsonSchemaAttribute.IString {\n /** Default value of the string type. */\n default?: string;\n /** Format restriction. */\n format?: \"binary\" | \"byte\" | \"password\" | \"regex\" | \"uuid\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"iri\" | \"iri-reference\" | \"ipv4\" | \"ipv6\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"date-time\" | \"date\" | \"time\" | \"duration\" | \"json-pointer\" | \"relative-json-pointer\" | (string & {});\n /** Pattern restriction. */\n pattern?: string;\n /** Content media type restriction. */\n contentMediaType?: string;\n /**\n * Minimum length restriction.\n *\n * @type uint64\n */\n minLength?: number;\n /**\n * Maximum length restriction.\n *\n * @type uint64\n */\n maxLength?: number;\n }\n /** Array type info. */\n interface IArray extends IJsonSchemaAttribute.IArray {\n /**\n * Items type info.\n *\n * The `items` means the type of the array elements. In other words, it is\n * the type schema info of the `T` in the TypeScript array type\n * `Array<T>`.\n */\n items: IJsonSchema;\n /**\n * Unique items restriction.\n *\n * If this property value is `true`, target array must have unique items.\n */\n uniqueItems?: boolean;\n /**\n * Minimum items restriction.\n *\n * Restriction of minimum number of items in the array.\n *\n * @type uint64\n */\n minItems?: number;\n /**\n * Maximum items restriction.\n *\n * Restriction of maximum number of items in the array.\n *\n * @type uint64\n */\n maxItems?: number;\n }\n /** Tuple type info. */\n interface ITuple extends IJsonSchemaAttribute {\n /**\n * Discriminator value of the type.\n *\n * Note that, the tuple type cannot be distinguished with {@link IArray}\n * type just by this `discriminator` property.\n *\n * To check whether the type is tuple or array, you have to check the\n * existence of {@link IArray.items} or {@link ITuple.prefixItems}\n * properties.\n */\n type: \"array\";\n /**\n * Prefix items.\n *\n * The `prefixItems` means the type schema info of the prefix items in the\n * tuple type. In the TypeScript, it is expressed as `[T1, T2]`.\n *\n * If you want to express `[T1, T2, ...TO[]]` type, you can configure the\n * `...TO[]` through the {@link additionalItems} property.\n */\n prefixItems: IJsonSchema[];\n /**\n * Additional items.\n *\n * The `additionalItems` means the type schema info of the additional\n * items after the {@link prefixItems}. In the TypeScript, if there's a\n * type `[T1, T2, ...TO[]]`, the `...TO[]` is represented by the\n * `additionalItems`.\n *\n * By the way, if you configure the `additionalItems` as `true`, it means\n * the additional items are not restricted. They can be any type, so that\n * it is equivalent to the TypeScript type `[T1, T2, ...any[]]`.\n *\n * Otherwise configure the `additionalItems` as the {@link IJsonSchema}, it\n * means the additional items must follow the type schema info. Therefore,\n * it is equivalent to the TypeScript type `[T1, T2, ...TO[]]`.\n */\n additionalItems?: boolean | IJsonSchema;\n /**\n * Unique items restriction.\n *\n * If this property value is `true`, target tuple must have unique items.\n */\n uniqueItems?: boolean;\n /**\n * Minimum items restriction.\n *\n * Restriction of minimum number of items in the tuple.\n *\n * @type uint64\n */\n minItems?: number;\n /**\n * Maximum items restriction.\n *\n * Restriction of maximum number of items in the tuple.\n *\n * @type uint64\n */\n maxItems?: number;\n }\n /** Object type info. */\n interface IObject extends IJsonSchemaAttribute.IObject {\n /**\n * Properties of the object.\n *\n * The `properties` means a list of key-value pairs of the object's\n * regular properties. The key is the name of the regular property, and\n * the value is the type schema info.\n *\n * If you need additional properties that is represented by dynamic key,\n * you can use the {@link additionalProperties} instead.\n */\n properties?: Record<string, IJsonSchema>;\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * If the value is `true`, it means that the additional properties are not\n * restricted. They can be any type. Otherwise, if the value is\n * {@link IJsonSchema} type, it means that the additional properties must\n * follow the type schema info.\n *\n * - `true`: `Record<string, any>`\n * - `IJsonSchema`: `Record<string, T>`\n */\n additionalProperties?: boolean | IJsonSchema;\n /**\n * List of key values of the required properties.\n *\n * The `required` means a list of the key values of the required\n * {@link properties}. If some property key is not listed in the `required`\n * list, it means that property is optional. Otherwise some property key\n * exists in the `required` list, it means that the property must be\n * filled.\n *\n * Below is an example of the {@link properties} and `required`.\n *\n * ```typescript\n * interface SomeObject {\n * id: string;\n * email: string;\n * name?: string;\n * }\n * ```\n *\n * As you can see, `id` and `email` {@link properties} are {@link required},\n * so that they are listed in the `required` list.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"id\": { \"type\": \"string\" },\n * \"email\": { \"type\": \"string\" },\n * \"name\": { \"type\": \"string\" }\n * },\n * \"required\": [\"id\", \"email\"]\n * }\n * ```\n */\n required?: string[];\n }\n /** Reference type directing named schema. */\n interface IReference<Key = string> extends IJsonSchemaAttribute {\n /**\n * Reference to the named schema.\n *\n * The `ref` is a reference to the named schema. Format of the `$ref` is\n * following the JSON Pointer specification. In the OpenAPI, the `$ref`\n * starts with `#/components/schemas/` which means the type is stored in\n * the {@link OpenApi.IComponents.schemas} object.\n *\n * - `#/components/schemas/SomeObject`\n * - `#/components/schemas/AnotherObject`\n */\n $ref: Key;\n }\n /**\n * Union type.\n *\n * `IOneOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has defined\n * `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly converts it to\n * `oneOf` type.\n */\n interface IOneOf extends IJsonSchemaAttribute {\n /** List of the union types. */\n oneOf: Exclude<IJsonSchema, IJsonSchema.IOneOf>[];\n /** Discriminator info of the union type. */\n discriminator?: IOneOf.IDiscriminator;\n }\n namespace IOneOf {\n /** Discriminator info of the union type. */\n interface IDiscriminator {\n /** Property name for the discriminator. */\n propertyName: string;\n /**\n * Mapping of the discriminator value to the schema name.\n *\n * This property is valid only for {@link IReference} typed\n * {@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is the\n * discriminator value, and `value` of `mapping` is the schema name like\n * `#/components/schemas/SomeObject`.\n */\n mapping?: Record<string, string>;\n }\n }\n /** Null type. */\n interface INull extends IJsonSchemaAttribute.INull {\n /** Default value of the `null` type. */\n default?: null;\n }\n /** Unknown, the `any` type. */\n interface IUnknown extends IJsonSchemaAttribute.IUnknown {\n /** Default value of the `any` type. */\n default?: any;\n }\n /**\n * Significant attributes that can be applied to the most types.\n *\n * @ignore\n * @deprecated\n */\n interface __ISignificant<Type extends string> extends IJsonSchemaAttribute {\n /** Discriminator value of the type. */\n type: Type;\n }\n /**\n * Common attributes that can be applied to all types.\n *\n * @ignore\n * @deprecated\n */\n type __IAttribute = IJsonSchemaAttribute;\n }\n /**\n * Security scheme of Swagger Documents.\n *\n * `OpenApi.ISecurityScheme` is a data structure representing content of\n * `securitySchemes` in `swagger.json` file. It is composed with 5 types of\n * security schemes as an union type like below.\n *\n * @reference https://swagger.io/specification/#security-scheme-object\n */\n type ISecurityScheme = ISecurityScheme.IApiKey | ISecurityScheme.IHttpBasic | ISecurityScheme.IHttpBearer | ISecurityScheme.IOAuth2 | ISecurityScheme.IOpenId;\n namespace ISecurityScheme {\n /** Normal API key type. */\n interface IApiKey {\n type: \"apiKey\";\n in?: \"header\" | \"query\" | \"cookie\";\n name?: string;\n description?: string;\n }\n /** HTTP basic authentication type. */\n interface IHttpBasic {\n type: \"http\";\n scheme: \"basic\";\n description?: string;\n }\n /** HTTP bearer authentication type. */\n interface IHttpBearer {\n type: \"http\";\n scheme: \"bearer\";\n bearerFormat?: string;\n description?: string;\n }\n /** OAuth2 authentication type. */\n interface IOAuth2 {\n type: \"oauth2\";\n flows: IOAuth2.IFlowSet;\n description?: string;\n }\n interface IOpenId {\n type: \"openIdConnect\";\n openIdConnectUrl: string;\n description?: string;\n }\n namespace IOAuth2 {\n interface IFlowSet {\n authorizationCode?: IFlow;\n implicit?: Omit<IFlow, \"tokenUrl\">;\n password?: Omit<IFlow, \"authorizationUrl\">;\n clientCredentials?: Omit<IFlow, \"authorizationUrl\">;\n }\n interface IFlow {\n authorizationUrl?: string;\n tokenUrl?: string;\n refreshUrl?: string;\n scopes?: Record<string, string>;\n }\n }\n }\n}\n",
12452
12452
  "node_modules/@samchon/openapi/lib/OpenApiV3.d.ts": "import { IJsonSchemaAttribute } from \"./structures/IJsonSchemaAttribute\";\n/**\n * OpenAPI 3.0 definition.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace OpenApiV3 {\n type Method = \"get\" | \"post\" | \"put\" | \"delete\" | \"options\" | \"head\" | \"patch\" | \"trace\";\n interface IDocument {\n openapi: \"3.0\" | `3.0.${number}`;\n servers?: IServer[];\n info?: IDocument.IInfo;\n components?: IComponents;\n paths?: Record<string, IPath>;\n security?: Record<string, string[]>[];\n tags?: IDocument.ITag[];\n }\n namespace IDocument {\n interface IInfo {\n title: string;\n description?: string;\n termsOfService?: string;\n contact?: IContact;\n license?: ILicense;\n version: string;\n }\n interface ITag {\n name: string;\n description?: string;\n }\n interface IContact {\n name?: string;\n url?: string;\n email?: string;\n }\n interface ILicense {\n name: string;\n url?: string;\n }\n }\n interface IServer {\n url: string;\n description?: string;\n variables?: Record<string, IServer.IVariable>;\n }\n namespace IServer {\n interface IVariable {\n default: string;\n enum?: string[];\n description?: string;\n }\n }\n interface IPath extends Partial<Record<Method, IOperation | undefined>> {\n parameters?: Array<IOperation.IParameter | IJsonSchema.IReference<`#/components/headers/${string}`> | IJsonSchema.IReference<`#/components/parameters/${string}`>>;\n servers?: IServer[];\n summary?: string;\n description?: string;\n }\n interface IOperation {\n operationId?: string;\n parameters?: Array<IOperation.IParameter | IJsonSchema.IReference<`#/components/headers/${string}`> | IJsonSchema.IReference<`#/components/parameters/${string}`>>;\n requestBody?: IOperation.IRequestBody | IJsonSchema.IReference<`#/components/requestBodies/${string}`>;\n responses?: Record<string, IOperation.IResponse | IJsonSchema.IReference<`#/components/responses/${string}`>>;\n servers?: IServer[];\n summary?: string;\n description?: string;\n security?: Record<string, string[]>[];\n tags?: string[];\n deprecated?: boolean;\n }\n namespace IOperation {\n interface IParameter {\n name?: string;\n in: \"path\" | \"query\" | \"header\" | \"cookie\";\n schema: IJsonSchema;\n required?: boolean;\n description?: string;\n example?: any;\n examples?: Record<string, IExample | IJsonSchema.IReference<`#/components/examples/${string}`>>;\n }\n interface IRequestBody {\n description?: string;\n required?: boolean;\n content?: Record<string, IMediaType>;\n }\n interface IResponse {\n content?: Record<string, IMediaType>;\n headers?: Record<string, Omit<IOperation.IParameter, \"in\"> | IJsonSchema.IReference<`#/components/headers/${string}`>>;\n description?: string;\n }\n interface IMediaType {\n schema?: IJsonSchema;\n example?: any;\n examples?: Record<string, IExample | IJsonSchema.IReference<`#/components/examples/${string}`>>;\n }\n }\n interface IExample {\n summary?: string;\n description?: string;\n value?: any;\n externalValue?: string;\n }\n interface IComponents {\n schemas?: Record<string, IJsonSchema>;\n responses?: Record<string, IOperation.IResponse>;\n parameters?: Record<string, IOperation.IParameter>;\n requestBodies?: Record<string, IOperation.IRequestBody>;\n securitySchemes?: Record<string, ISecurityScheme>;\n headers?: Record<string, Omit<IOperation.IParameter, \"in\">>;\n examples?: Record<string, IExample>;\n }\n type IJsonSchema = IJsonSchema.IBoolean | IJsonSchema.IInteger | IJsonSchema.INumber | IJsonSchema.IString | IJsonSchema.IArray | IJsonSchema.IObject | IJsonSchema.IReference | IJsonSchema.IAllOf | IJsonSchema.IAnyOf | IJsonSchema.IOneOf | IJsonSchema.INullOnly | IJsonSchema.IUnknown;\n namespace IJsonSchema {\n interface IBoolean extends Omit<IJsonSchemaAttribute.IBoolean, \"examples\">, __IAttribute {\n nullable?: boolean;\n default?: boolean | null;\n enum?: Array<boolean | null>;\n }\n interface IInteger extends Omit<IJsonSchemaAttribute.IInteger, \"examples\">, __IAttribute {\n nullable?: boolean;\n /** @type int64 */ default?: number | null;\n /** @type int64 */ enum?: Array<number | null>;\n /** @type int64 */ minimum?: number;\n /** @type int64 */ maximum?: number;\n exclusiveMinimum?: number | boolean;\n exclusiveMaximum?: number | boolean;\n /**\n * @type uint64\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n interface INumber extends Omit<IJsonSchemaAttribute.INumber, \"examples\">, __IAttribute {\n nullable?: boolean;\n default?: number | null;\n enum?: Array<number | null>;\n minimum?: number;\n maximum?: number;\n exclusiveMinimum?: number | boolean;\n exclusiveMaximum?: number | boolean;\n /** @exclusiveMinimum 0 */ multipleOf?: number;\n }\n interface IString extends Omit<IJsonSchemaAttribute.IString, \"examples\">, __IAttribute {\n nullable?: boolean;\n default?: string | null;\n enum?: Array<string | null>;\n format?: \"binary\" | \"byte\" | \"password\" | \"regex\" | \"uuid\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"iri\" | \"iri-reference\" | \"ipv4\" | \"ipv6\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"date-time\" | \"date\" | \"time\" | \"duration\" | \"json-pointer\" | \"relative-json-pointer\" | (string & {});\n pattern?: string;\n /** @type uint64 */ minLength?: number;\n /** @type uint64 */ maxLength?: number;\n }\n interface IArray extends Omit<IJsonSchemaAttribute.IArray, \"examples\">, __IAttribute {\n nullable?: boolean;\n items: IJsonSchema;\n uniqueItems?: boolean;\n /** @type uint64 */ minItems?: number;\n /** @type uint64 */ maxItems?: number;\n }\n interface IObject extends Omit<IJsonSchemaAttribute.IObject, \"examples\">, __IAttribute {\n nullable?: boolean;\n properties?: Record<string, IJsonSchema>;\n required?: string[];\n additionalProperties?: boolean | IJsonSchema;\n maxProperties?: number;\n minProperties?: number;\n }\n interface IReference<Key = string> extends __IAttribute {\n $ref: Key;\n }\n interface IAllOf extends __IAttribute {\n allOf: IJsonSchema[];\n }\n interface IAnyOf extends __IAttribute {\n anyOf: IJsonSchema[];\n }\n interface IOneOf extends __IAttribute {\n oneOf: IJsonSchema[];\n discriminator?: IOneOf.IDiscriminator;\n }\n namespace IOneOf {\n interface IDiscriminator {\n propertyName: string;\n mapping?: Record<string, string>;\n }\n }\n interface INullOnly extends Omit<IJsonSchemaAttribute.INull, \"examples\">, __IAttribute {\n default?: null;\n }\n interface IUnknown extends Omit<IJsonSchemaAttribute.IUnknown, \"examples\">, __IAttribute {\n default?: any;\n }\n interface __IAttribute extends Omit<IJsonSchemaAttribute, \"examples\"> {\n examples?: any[] | Record<string, any>;\n }\n }\n type ISecurityScheme = ISecurityScheme.IApiKey | ISecurityScheme.IHttpBasic | ISecurityScheme.IHttpBearer | ISecurityScheme.IOAuth2 | ISecurityScheme.IOpenId;\n namespace ISecurityScheme {\n interface IApiKey {\n type: \"apiKey\";\n in?: \"header\" | \"query\" | \"cookie\";\n name?: string;\n description?: string;\n }\n interface IHttpBasic {\n type: \"http\";\n scheme: \"basic\";\n description?: string;\n }\n interface IHttpBearer {\n type: \"http\";\n scheme: \"bearer\";\n bearerFormat?: string;\n description?: string;\n }\n interface IOAuth2 {\n type: \"oauth2\";\n flows: IOAuth2.IFlowSet;\n description?: string;\n }\n interface IOpenId {\n type: \"openIdConnect\";\n openIdConnectUrl: string;\n description?: string;\n }\n namespace IOAuth2 {\n interface IFlowSet {\n authorizationCode?: IFlow;\n implicit?: Omit<IFlow, \"tokenUrl\">;\n password?: Omit<IFlow, \"authorizationUrl\">;\n clientCredentials?: Omit<IFlow, \"authorizationUrl\">;\n }\n interface IFlow {\n authorizationUrl?: string;\n tokenUrl?: string;\n refreshUrl?: string;\n scopes?: Record<string, string>;\n }\n }\n }\n}\n",
12453
12453
  "node_modules/@samchon/openapi/lib/OpenApiV3_1.d.ts": "import { IJsonSchemaAttribute } from \"./structures/IJsonSchemaAttribute\";\n/**\n * OpenAPI v3.1 definition.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace OpenApiV3_1 {\n type Method = \"get\" | \"post\" | \"put\" | \"delete\" | \"options\" | \"head\" | \"patch\" | \"trace\";\n interface IDocument {\n openapi: `3.1.${number}`;\n servers?: IServer[];\n info?: IDocument.IInfo;\n components?: IComponents;\n paths?: Record<string, IPath>;\n webhooks?: Record<string, IJsonSchema.IReference<`#/components/pathItems/${string}`> | IPath>;\n security?: Record<string, string[]>[];\n tags?: IDocument.ITag[];\n }\n namespace IDocument {\n interface IInfo {\n title: string;\n summary?: string;\n description?: string;\n termsOfService?: string;\n contact?: IContact;\n license?: ILicense;\n version: string;\n }\n interface ITag {\n name: string;\n description?: string;\n }\n interface IContact {\n name?: string;\n url?: string;\n email?: string;\n }\n interface ILicense {\n name: string;\n identifier?: string;\n url?: string;\n }\n }\n interface IServer {\n url: string;\n description?: string;\n variables?: Record<string, IServer.IVariable>;\n }\n namespace IServer {\n interface IVariable {\n default: string;\n /** @minItems 1 */ enum?: string[];\n description?: string;\n }\n }\n interface IPath extends Partial<Record<Method, IOperation>> {\n parameters?: Array<IOperation.IParameter | IJsonSchema.IReference<`#/components/headers/${string}`> | IJsonSchema.IReference<`#/components/parameters/${string}`>>;\n servers?: IServer[];\n summary?: string;\n description?: string;\n }\n interface IOperation {\n operationId?: string;\n parameters?: Array<IOperation.IParameter | IJsonSchema.IReference<`#/components/headers/${string}`> | IJsonSchema.IReference<`#/components/parameters/${string}`>>;\n requestBody?: IOperation.IRequestBody | IJsonSchema.IReference<`#/components/requestBodies/${string}`>;\n responses?: Record<string, IOperation.IResponse | IJsonSchema.IReference<`#/components/responses/${string}`>>;\n servers?: IServer[];\n summary?: string;\n description?: string;\n security?: Record<string, string[]>[];\n tags?: string[];\n deprecated?: boolean;\n }\n namespace IOperation {\n interface IParameter {\n name?: string;\n in: \"path\" | \"query\" | \"header\" | \"cookie\";\n schema: IJsonSchema;\n required?: boolean;\n description?: string;\n example?: any;\n examples?: Record<string, IExample | IJsonSchema.IReference<`#/components/examples/${string}`>>;\n }\n interface IRequestBody {\n description?: string;\n required?: boolean;\n content?: Record<string, IMediaType>;\n }\n interface IResponse {\n content?: Record<string, IMediaType>;\n headers?: Record<string, Omit<IOperation.IParameter, \"in\"> | IJsonSchema.IReference<`#/components/headers/${string}`>>;\n description?: string;\n }\n interface IMediaType {\n schema?: IJsonSchema;\n example?: any;\n examples?: Record<string, IExample | IJsonSchema.IReference<`#/components/examples/${string}`>>;\n }\n }\n interface IExample {\n summary?: string;\n description?: string;\n value?: any;\n externalValue?: string;\n }\n interface IComponents {\n schemas?: Record<string, IJsonSchema>;\n pathItems?: Record<string, IPath>;\n responses?: Record<string, IOperation.IResponse>;\n parameters?: Record<string, IOperation.IParameter>;\n requestBodies?: Record<string, IOperation.IRequestBody>;\n securitySchemes?: Record<string, ISecurityScheme>;\n headers?: Record<string, Omit<IOperation.IParameter, \"in\">>;\n examples?: Record<string, IExample>;\n }\n type IJsonSchema = IJsonSchema.IMixed | IJsonSchema.IConstant | IJsonSchema.IBoolean | IJsonSchema.IInteger | IJsonSchema.INumber | IJsonSchema.IString | IJsonSchema.IArray | IJsonSchema.IObject | IJsonSchema.IReference | IJsonSchema.IRecursiveReference | IJsonSchema.IAllOf | IJsonSchema.IAnyOf | IJsonSchema.IOneOf | IJsonSchema.INull | IJsonSchema.IUnknown;\n namespace IJsonSchema {\n interface IMixed extends IConstant, Omit<IBoolean, \"type\" | \"default\" | \"enum\">, Omit<INumber, \"type\" | \"default\" | \"enum\">, Omit<IString, \"type\" | \"default\" | \"enum\">, Omit<IArray, \"type\">, Omit<IObject, \"type\">, IOneOf, IAnyOf, IAllOf, IReference {\n type: Array<\"boolean\" | \"integer\" | \"number\" | \"string\" | \"array\" | \"object\" | \"null\">;\n default?: any[] | null;\n enum?: any[];\n }\n interface IConstant extends __IAttribute {\n const: boolean | number | string;\n nullable?: boolean;\n }\n interface IBoolean extends Omit<IJsonSchemaAttribute.IBoolean, \"examples\">, __IAttribute {\n nullable?: boolean;\n default?: boolean | null;\n enum?: Array<boolean | null>;\n }\n interface IInteger extends Omit<IJsonSchemaAttribute.IInteger, \"examples\">, __IAttribute {\n nullable?: boolean;\n /** @type int64 */ default?: number | null;\n /** @type int64 */ enum?: Array<number | null>;\n /** @type int64 */ minimum?: number;\n /** @type int64 */ maximum?: number;\n /** @type int64 */ exclusiveMinimum?: number | boolean;\n /** @type int64 */ exclusiveMaximum?: number | boolean;\n /**\n * @type uint64\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n interface INumber extends Omit<IJsonSchemaAttribute.INumber, \"examples\">, __IAttribute {\n nullable?: boolean;\n default?: number | null;\n enum?: Array<number | null>;\n minimum?: number;\n maximum?: number;\n exclusiveMinimum?: number | boolean;\n exclusiveMaximum?: number | boolean;\n /** @exclusiveMinimum 0 */ multipleOf?: number;\n }\n interface IString extends Omit<IJsonSchemaAttribute.IString, \"examples\">, __IAttribute {\n nullable?: boolean;\n default?: string | null;\n enum?: Array<string | null>;\n format?: \"binary\" | \"byte\" | \"password\" | \"regex\" | \"uuid\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"iri\" | \"iri-reference\" | \"ipv4\" | \"ipv6\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"date-time\" | \"date\" | \"time\" | \"duration\" | \"json-pointer\" | \"relative-json-pointer\" | (string & {});\n pattern?: string;\n contentMediaType?: string;\n /** @type uint64 */ minLength?: number;\n /** @type uint64 */ maxLength?: number;\n }\n interface IObject extends Omit<IJsonSchemaAttribute.IObject, \"examples\">, __IAttribute {\n nullable?: boolean;\n properties?: Record<string, IJsonSchema>;\n required?: string[];\n additionalProperties?: boolean | IJsonSchema;\n maxProperties?: number;\n minProperties?: number;\n }\n interface IArray extends Omit<IJsonSchemaAttribute.IArray, \"examples\">, __IAttribute {\n nullable?: boolean;\n items?: IJsonSchema | IJsonSchema[];\n prefixItems?: IJsonSchema[];\n uniqueItems?: boolean;\n additionalItems?: boolean | IJsonSchema;\n /** @type uint64 */ minItems?: number;\n /** @type uint64 */ maxItems?: number;\n }\n interface IReference<Key = string> extends __IAttribute {\n $ref: Key;\n }\n interface IRecursiveReference extends __IAttribute {\n $recursiveRef: string;\n }\n interface IAllOf extends __IAttribute {\n allOf: IJsonSchema[];\n }\n interface IAnyOf extends __IAttribute {\n anyOf: IJsonSchema[];\n }\n interface IOneOf extends __IAttribute {\n oneOf: IJsonSchema[];\n discriminator?: IOneOf.IDiscriminator;\n }\n namespace IOneOf {\n interface IDiscriminator {\n propertyName: string;\n mapping?: Record<string, string>;\n }\n }\n interface INull extends Omit<IJsonSchemaAttribute.INull, \"examples\">, __IAttribute {\n default?: null;\n }\n interface IUnknown extends Omit<IJsonSchemaAttribute.IUnknown, \"examples\">, __IAttribute {\n type?: undefined;\n default?: any;\n }\n interface __IAttribute extends Omit<IJsonSchemaAttribute, \"examples\"> {\n examples?: any[] | Record<string, any>;\n }\n }\n type ISecurityScheme = ISecurityScheme.IApiKey | ISecurityScheme.IHttpBasic | ISecurityScheme.IHttpBearer | ISecurityScheme.IOAuth2 | ISecurityScheme.IOpenId;\n namespace ISecurityScheme {\n interface IApiKey {\n type: \"apiKey\";\n in?: \"header\" | \"query\" | \"cookie\";\n name?: string;\n description?: string;\n }\n interface IHttpBasic {\n type: \"http\";\n scheme: \"basic\";\n description?: string;\n }\n interface IHttpBearer {\n type: \"http\";\n scheme: \"bearer\";\n bearerFormat?: string;\n description?: string;\n }\n interface IOAuth2 {\n type: \"oauth2\";\n flows: IOAuth2.IFlowSet;\n description?: string;\n }\n interface IOpenId {\n type: \"openIdConnect\";\n openIdConnectUrl: string;\n description?: string;\n }\n namespace IOAuth2 {\n interface IFlowSet {\n authorizationCode?: IFlow;\n implicit?: Omit<IFlow, \"tokenUrl\">;\n password?: Omit<IFlow, \"authorizationUrl\">;\n clientCredentials?: Omit<IFlow, \"authorizationUrl\">;\n }\n interface IFlow {\n authorizationUrl?: string;\n tokenUrl?: string;\n refreshUrl?: string;\n scopes?: Record<string, string>;\n }\n }\n }\n}\n",
12454
12454
  "node_modules/@samchon/openapi/lib/SwaggerV2.d.ts": "import { IJsonSchemaAttribute } from \"./structures/IJsonSchemaAttribute\";\n/**\n * Swagger v2.0 definition.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace SwaggerV2 {\n type Method = \"get\" | \"post\" | \"put\" | \"delete\" | \"options\" | \"head\" | \"patch\" | \"trace\";\n interface IDocument {\n swagger: \"2.0\" | `2.0.${number}`;\n info?: IDocument.IInfo;\n host?: string;\n basePath?: string;\n consumes?: string[];\n produces?: string[];\n definitions?: Record<string, IJsonSchema>;\n parameters?: Record<string, IOperation.IParameter>;\n responses?: Record<string, IOperation.IResponse>;\n securityDefinitions?: Record<string, ISecurityDefinition>;\n security?: Record<string, string[]>[];\n paths?: Record<string, IPath>;\n tags?: IDocument.ITag[];\n }\n namespace IDocument {\n interface IInfo {\n title: string;\n description?: string;\n termsOfService?: string;\n contact?: IContact;\n license?: ILicense;\n version: string;\n }\n interface IContact {\n name?: string;\n url?: string;\n email?: string;\n }\n interface ILicense {\n name: string;\n url?: string;\n }\n interface ITag {\n name: string;\n description?: string;\n }\n }\n interface IPath extends Partial<Record<Method, IOperation | undefined>> {\n parameters?: Array<IOperation.IParameter | IJsonSchema.IReference<`#/parameters/${string}`>>;\n }\n interface IOperation {\n operationId?: string;\n parameters?: Array<IOperation.IParameter | IJsonSchema.IReference<`#/definitions/parameters/${string}`>>;\n responses?: Record<string, IOperation.IResponse | IJsonSchema.IReference<`#/definitions/responses/${string}`>>;\n summary?: string;\n description?: string;\n security?: Record<string, string[]>[];\n tags?: string[];\n deprecated?: boolean;\n }\n namespace IOperation {\n type IParameter = IGeneralParameter | IBodyParameter;\n type IGeneralParameter = IJsonSchema & {\n name: string;\n in: string;\n description?: string;\n };\n interface IBodyParameter {\n schema: IJsonSchema;\n name: string;\n in: string;\n description?: string;\n required?: boolean;\n }\n interface IResponse {\n description?: string;\n headers?: Record<string, IJsonSchema>;\n schema?: IJsonSchema;\n example?: any;\n }\n }\n type IJsonSchema = IJsonSchema.IBoolean | IJsonSchema.IInteger | IJsonSchema.INumber | IJsonSchema.IString | IJsonSchema.IArray | IJsonSchema.IObject | IJsonSchema.IReference | IJsonSchema.IAnyOf | IJsonSchema.IOneOf | IJsonSchema.INullOnly | IJsonSchema.IUnknown;\n namespace IJsonSchema {\n interface IBoolean extends Omit<IJsonSchemaAttribute.IBoolean, \"examples\">, __ISignificant<\"boolean\"> {\n default?: boolean | null;\n enum?: Array<boolean | null>;\n }\n interface IInteger extends Omit<IJsonSchemaAttribute.IInteger, \"examples\">, __ISignificant<\"integer\"> {\n /** @type int64 */ default?: number | null;\n /** @type int64 */ enum?: Array<number | null>;\n /** @type int64 */ minimum?: number;\n /** @type int64 */ maximum?: number;\n exclusiveMinimum?: number | boolean;\n exclusiveMaximum?: number | boolean;\n /**\n * @type uint64\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n interface INumber extends Omit<IJsonSchemaAttribute.INumber, \"examples\">, __ISignificant<\"number\"> {\n default?: number | null;\n enum?: Array<number | null>;\n minimum?: number;\n maximum?: number;\n exclusiveMinimum?: number | boolean;\n exclusiveMaximum?: number | boolean;\n /** @exclusiveMinimum 0 */ multipleOf?: number;\n }\n interface IString extends Omit<IJsonSchemaAttribute.IString, \"examples\">, __ISignificant<\"string\"> {\n default?: string | null;\n enum?: Array<string | null>;\n format?: \"binary\" | \"byte\" | \"password\" | \"regex\" | \"uuid\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"iri\" | \"iri-reference\" | \"ipv4\" | \"ipv6\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"date-time\" | \"date\" | \"time\" | \"duration\" | \"json-pointer\" | \"relative-json-pointer\" | (string & {});\n pattern?: string;\n /** @type uint64 */ minLength?: number;\n /** @type uint64 */ maxLength?: number;\n }\n interface IArray extends Omit<IJsonSchemaAttribute.IArray, \"examples\">, __ISignificant<\"array\"> {\n items: IJsonSchema;\n uniqueItems?: boolean;\n /** @type uint64 */ minItems?: number;\n /** @type uint64 */ maxItems?: number;\n }\n interface IObject extends Omit<IJsonSchemaAttribute.IObject, \"examples\">, __ISignificant<\"object\"> {\n properties?: Record<string, IJsonSchema>;\n required?: string[];\n additionalProperties?: boolean | IJsonSchema;\n maxProperties?: number;\n minProperties?: number;\n }\n interface IReference<Key = string> extends __IAttribute {\n $ref: Key;\n }\n interface IAllOf extends __IAttribute {\n allOf: IJsonSchema[];\n }\n interface IAnyOf extends __IAttribute {\n \"x-anyOf\": IJsonSchema[];\n }\n interface IOneOf extends __IAttribute {\n \"x-oneOf\": IJsonSchema[];\n }\n interface INullOnly extends __IAttribute {\n type: \"null\";\n default?: null;\n }\n interface IUnknown extends __IAttribute {\n type?: undefined;\n }\n interface __ISignificant<Type extends string> extends __IAttribute {\n type: Type;\n \"x-nullable\"?: boolean;\n }\n interface __IAttribute extends Omit<IJsonSchemaAttribute, \"examples\"> {\n examples?: any[];\n }\n }\n type ISecurityDefinition = ISecurityDefinition.IApiKey | ISecurityDefinition.IBasic | ISecurityDefinition.IOauth2Implicit | ISecurityDefinition.IOauth2AccessCode | ISecurityDefinition.IOauth2Password | ISecurityDefinition.IOauth2Application;\n namespace ISecurityDefinition {\n interface IApiKey {\n type: \"apiKey\";\n in?: \"header\" | \"query\" | \"cookie\";\n name?: string;\n description?: string;\n }\n interface IBasic {\n type: \"basic\";\n name?: string;\n description?: string;\n }\n interface IOauth2Implicit {\n type: \"oauth2\";\n flow: \"implicit\";\n authorizationUrl?: string;\n scopes?: Record<string, string>;\n description?: string;\n }\n interface IOauth2AccessCode {\n type: \"oauth2\";\n flow: \"accessCode\";\n authorizationUrl?: string;\n tokenUrl?: string;\n scopes?: Record<string, string>;\n description?: string;\n }\n interface IOauth2Password {\n type: \"oauth2\";\n flow: \"password\";\n tokenUrl?: string;\n scopes?: Record<string, string>;\n description?: string;\n }\n interface IOauth2Application {\n type: \"oauth2\";\n flow: \"application\";\n tokenUrl?: string;\n scopes?: Record<string, string>;\n description?: string;\n }\n }\n}\n",
12455
12455
  "node_modules/@samchon/openapi/lib/composers/HttpLlmApplicationComposer.d.ts": "import { IHttpLlmApplication } from \"../structures/IHttpLlmApplication\";\nimport { IHttpMigrateApplication } from \"../structures/IHttpMigrateApplication\";\nimport { ILlmSchema } from \"../structures/ILlmSchema\";\nexport declare namespace HttpLlmComposer {\n const application: <Model extends ILlmSchema.Model>(props: {\n model: Model;\n migrate: IHttpMigrateApplication;\n options: IHttpLlmApplication.IOptions<Model>;\n }) => IHttpLlmApplication<Model>;\n const shorten: <Model extends ILlmSchema.Model>(app: IHttpLlmApplication<Model>, limit?: number) => void;\n}\n",
12456
- "node_modules/@samchon/openapi/lib/composers/LlmSchemaComposer.d.ts": "import { IChatGptSchema } from \"../structures/IChatGptSchema\";\nimport { IClaudeSchema } from \"../structures/IClaudeSchema\";\nimport { IDeepSeekSchema } from \"../structures/IDeepSeekSchema\";\nimport { IGeminiSchema } from \"../structures/IGeminiSchema\";\nimport { ILlamaSchema } from \"../structures/ILlamaSchema\";\nimport { ILlmSchema } from \"../structures/ILlmSchema\";\nimport { ILlmSchemaV3 } from \"../structures/ILlmSchemaV3\";\nimport { ILlmSchemaV3_1 } from \"../structures/ILlmSchemaV3_1\";\nimport { ChatGptTypeChecker } from \"../utils/ChatGptTypeChecker\";\nimport { GeminiTypeChecker } from \"../utils/GeminiTypeChecker\";\nimport { LlmTypeCheckerV3 } from \"../utils/LlmTypeCheckerV3\";\nimport { LlmTypeCheckerV3_1 } from \"../utils/LlmTypeCheckerV3_1\";\nexport declare namespace LlmSchemaComposer {\n const parameters: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: (props: {\n config: IChatGptSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<IChatGptSchema.IParameters, import(\"..\").IOpenApiSchemaError>;\n claude: (props: {\n config: IClaudeSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<IClaudeSchema.IParameters, import(\"..\").IOpenApiSchemaError>;\n deepseek: (props: {\n config: IDeepSeekSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<IDeepSeekSchema.IParameters, import(\"..\").IOpenApiSchemaError>;\n gemini: (props: {\n config: IGeminiSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<IGeminiSchema.IParameters, import(\"..\").IOpenApiSchemaError>;\n llama: (props: {\n config: ILlamaSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n }) => import(\"..\").IResult<ILlamaSchema.IParameters, import(\"..\").IOpenApiSchemaError>;\n \"3.0\": (props: {\n config: ILlmSchemaV3.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n validate?: (schema: import(\"..\").OpenApi.IJsonSchema, accessor: string) => import(\"..\").IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<ILlmSchemaV3.IParameters, import(\"..\").IOpenApiSchemaError>;\n \"3.1\": (props: {\n config: ILlmSchemaV3_1.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n errors?: string[];\n validate?: (input: import(\"..\").OpenApi.IJsonSchema, accessor: string) => import(\"..\").IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<ILlmSchemaV3_1.IParameters, import(\"..\").IOpenApiSchemaError>;\n }[Model];\n const schema: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: (props: {\n config: IChatGptSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n $defs: Record<string, IChatGptSchema>;\n schema: import(\"..\").OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<IChatGptSchema, import(\"..\").IOpenApiSchemaError>;\n claude: (props: {\n config: IClaudeSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n $defs: Record<string, IClaudeSchema>;\n schema: import(\"..\").OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<IClaudeSchema, import(\"..\").IOpenApiSchemaError>;\n deepseek: (props: {\n config: IDeepSeekSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n $defs: Record<string, IDeepSeekSchema>;\n schema: import(\"..\").OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<IDeepSeekSchema, import(\"..\").IOpenApiSchemaError>;\n gemini: (props: {\n config: IGeminiSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<IGeminiSchema, import(\"..\").IOpenApiSchemaError>;\n llama: (props: {\n config: ILlamaSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n $defs: Record<string, ILlamaSchema>;\n schema: import(\"..\").OpenApi.IJsonSchema;\n }) => import(\"..\").IResult<ILlamaSchema, import(\"..\").IOpenApiSchemaError>;\n \"3.0\": (props: {\n config: ILlmSchemaV3.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema;\n validate?: (schema: import(\"..\").OpenApi.IJsonSchema, accessor: string) => import(\"..\").IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<ILlmSchemaV3, import(\"..\").IOpenApiSchemaError>;\n \"3.1\": (props: {\n config: ILlmSchemaV3_1.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n $defs: Record<string, ILlmSchemaV3_1>;\n schema: import(\"..\").OpenApi.IJsonSchema;\n validate?: (input: import(\"..\").OpenApi.IJsonSchema, accessor: string) => import(\"..\").IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<ILlmSchemaV3_1, import(\"..\").IOpenApiSchemaError>;\n }[Model];\n const defaultConfig: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: {\n reference: false;\n strict: false;\n };\n claude: {\n reference: false;\n };\n deepseek: {\n reference: false;\n };\n gemini: {\n recursive: number;\n };\n llama: {\n reference: false;\n };\n \"3.0\": {\n constraint: true;\n recursive: number;\n };\n \"3.1\": {\n constraint: true;\n reference: false;\n };\n }[Model];\n const typeChecker: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: typeof ChatGptTypeChecker;\n claude: typeof LlmTypeCheckerV3_1;\n deepseek: typeof LlmTypeCheckerV3_1;\n gemini: typeof GeminiTypeChecker;\n llama: typeof LlmTypeCheckerV3_1;\n \"3.0\": typeof LlmTypeCheckerV3;\n \"3.1\": typeof LlmTypeCheckerV3_1;\n }[Model];\n const separateParameters: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: (props: {\n parameters: IChatGptSchema.IParameters;\n predicate: (schema: IChatGptSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n }) => import(\"..\").ILlmFunction.ISeparated<\"chatgpt\">;\n claude: (props: {\n parameters: IClaudeSchema.IParameters;\n predicate: (schema: IClaudeSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n }) => import(\"..\").ILlmFunction.ISeparated<\"claude\">;\n deepseek: (props: {\n parameters: IDeepSeekSchema.IParameters;\n predicate: (schema: IDeepSeekSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n }) => import(\"..\").ILlmFunction.ISeparated<\"deepseek\">;\n gemini: (props: {\n predicate: (schema: IGeminiSchema) => boolean;\n parameters: IGeminiSchema.IParameters;\n }) => import(\"..\").ILlmFunction.ISeparated<\"gemini\">;\n llama: (props: {\n parameters: ILlamaSchema.IParameters;\n predicate: (schema: ILlamaSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n }) => import(\"..\").ILlmFunction.ISeparated<\"llama\">;\n \"3.0\": (props: {\n predicate: (schema: ILlmSchemaV3) => boolean;\n parameters: ILlmSchemaV3.IParameters;\n }) => import(\"..\").ILlmFunction.ISeparated<\"3.0\">;\n \"3.1\": (props: {\n parameters: ILlmSchemaV3_1.IParameters;\n predicate: (schema: ILlmSchemaV3_1) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n }) => import(\"..\").ILlmFunction.ISeparated<\"3.1\">;\n }[Model];\n const invert: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: (props: {\n components: import(\"..\").OpenApi.IComponents;\n schema: IChatGptSchema;\n $defs: Record<string, IChatGptSchema>;\n }) => import(\"..\").OpenApi.IJsonSchema;\n claude: (props: {\n components: import(\"..\").OpenApi.IComponents;\n schema: IClaudeSchema;\n $defs: Record<string, IClaudeSchema>;\n }) => import(\"..\").OpenApi.IJsonSchema;\n deepseek: (props: {\n components: import(\"..\").OpenApi.IComponents;\n schema: IDeepSeekSchema;\n $defs: Record<string, IDeepSeekSchema>;\n }) => import(\"..\").OpenApi.IJsonSchema;\n gemini: (props: {\n schema: IGeminiSchema;\n }) => import(\"..\").OpenApi.IJsonSchema;\n llama: (props: {\n components: import(\"..\").OpenApi.IComponents;\n schema: ILlamaSchema;\n $defs: Record<string, ILlamaSchema>;\n }) => import(\"..\").OpenApi.IJsonSchema;\n \"3.0\": (props: {\n schema: ILlmSchemaV3;\n }) => import(\"..\").OpenApi.IJsonSchema;\n \"3.1\": (props: {\n components: import(\"..\").OpenApi.IComponents;\n schema: ILlmSchemaV3_1;\n $defs: Record<string, ILlmSchemaV3_1>;\n }) => import(\"..\").OpenApi.IJsonSchema;\n }[Model];\n}\n",
12457
- "node_modules/@samchon/openapi/lib/composers/llm/ChatGptSchemaComposer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { IChatGptSchema } from \"../../structures/IChatGptSchema\";\nimport { ILlmFunction } from \"../../structures/ILlmFunction\";\nimport { IOpenApiSchemaError } from \"../../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../../structures/IResult\";\nexport declare namespace ChatGptSchemaComposer {\n const parameters: (props: {\n config: IChatGptSchema.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IChatGptSchema.IParameters, IOpenApiSchemaError>;\n const schema: (props: {\n config: IChatGptSchema.IConfig;\n components: OpenApi.IComponents;\n $defs: Record<string, IChatGptSchema>;\n schema: OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IChatGptSchema, IOpenApiSchemaError>;\n const separateParameters: (props: {\n parameters: IChatGptSchema.IParameters;\n predicate: (schema: IChatGptSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n }) => ILlmFunction.ISeparated<\"chatgpt\">;\n const invert: (props: {\n components: OpenApi.IComponents;\n schema: IChatGptSchema;\n $defs: Record<string, IChatGptSchema>;\n }) => OpenApi.IJsonSchema;\n}\n",
12458
- "node_modules/@samchon/openapi/lib/composers/llm/ClaudeSchemaComposer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { IClaudeSchema } from \"../../structures/IClaudeSchema\";\nimport { ILlmFunction } from \"../../structures/ILlmFunction\";\nimport { IOpenApiSchemaError } from \"../../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../../structures/IResult\";\nexport declare namespace ClaudeSchemaComposer {\n const parameters: (props: {\n config: IClaudeSchema.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IClaudeSchema.IParameters, IOpenApiSchemaError>;\n const schema: (props: {\n config: IClaudeSchema.IConfig;\n components: OpenApi.IComponents;\n $defs: Record<string, IClaudeSchema>;\n schema: OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IClaudeSchema, IOpenApiSchemaError>;\n const separateParameters: (props: {\n parameters: IClaudeSchema.IParameters;\n predicate: (schema: IClaudeSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n }) => ILlmFunction.ISeparated<\"claude\">;\n const invert: (props: {\n components: OpenApi.IComponents;\n schema: IClaudeSchema;\n $defs: Record<string, IClaudeSchema>;\n }) => OpenApi.IJsonSchema;\n}\n",
12459
- "node_modules/@samchon/openapi/lib/composers/llm/DeepSeekSchemaComposer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { IDeepSeekSchema } from \"../../structures/IDeepSeekSchema\";\nimport { ILlmFunction } from \"../../structures/ILlmFunction\";\nimport { IOpenApiSchemaError } from \"../../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../../structures/IResult\";\nexport declare namespace DeepSeekSchemaComposer {\n const parameters: (props: {\n config: IDeepSeekSchema.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IDeepSeekSchema.IParameters, IOpenApiSchemaError>;\n const schema: (props: {\n config: IDeepSeekSchema.IConfig;\n components: OpenApi.IComponents;\n $defs: Record<string, IDeepSeekSchema>;\n schema: OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IDeepSeekSchema, IOpenApiSchemaError>;\n const separateParameters: (props: {\n parameters: IDeepSeekSchema.IParameters;\n predicate: (schema: IDeepSeekSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n }) => ILlmFunction.ISeparated<\"deepseek\">;\n const invert: (props: {\n components: OpenApi.IComponents;\n schema: IDeepSeekSchema;\n $defs: Record<string, IDeepSeekSchema>;\n }) => OpenApi.IJsonSchema;\n}\n",
12460
- "node_modules/@samchon/openapi/lib/composers/llm/GeminiSchemaComposer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { IGeminiSchema } from \"../../structures/IGeminiSchema\";\nimport { ILlmFunction } from \"../../structures/ILlmFunction\";\nimport { IOpenApiSchemaError } from \"../../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../../structures/IResult\";\nexport declare namespace GeminiSchemaComposer {\n const parameters: (props: {\n config: IGeminiSchema.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IGeminiSchema.IParameters, IOpenApiSchemaError>;\n const schema: (props: {\n config: IGeminiSchema.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IGeminiSchema, IOpenApiSchemaError>;\n const separateParameters: (props: {\n predicate: (schema: IGeminiSchema) => boolean;\n parameters: IGeminiSchema.IParameters;\n }) => ILlmFunction.ISeparated<\"gemini\">;\n const invert: (props: {\n schema: IGeminiSchema;\n }) => OpenApi.IJsonSchema;\n}\n",
12461
- "node_modules/@samchon/openapi/lib/composers/llm/LlamaSchemaComposer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { ILlamaSchema } from \"../../structures/ILlamaSchema\";\nimport { ILlmFunction } from \"../../structures/ILlmFunction\";\nimport { IOpenApiSchemaError } from \"../../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../../structures/IResult\";\nexport declare namespace LlamaSchemaComposer {\n const parameters: (props: {\n config: ILlamaSchema.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference;\n }) => IResult<ILlamaSchema.IParameters, IOpenApiSchemaError>;\n const schema: (props: {\n config: ILlamaSchema.IConfig;\n components: OpenApi.IComponents;\n $defs: Record<string, ILlamaSchema>;\n schema: OpenApi.IJsonSchema;\n }) => IResult<ILlamaSchema, IOpenApiSchemaError>;\n const separateParameters: (props: {\n parameters: ILlamaSchema.IParameters;\n predicate: (schema: ILlamaSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n }) => ILlmFunction.ISeparated<\"llama\">;\n const invert: (props: {\n components: OpenApi.IComponents;\n schema: ILlamaSchema;\n $defs: Record<string, ILlamaSchema>;\n }) => OpenApi.IJsonSchema;\n}\n",
12456
+ "node_modules/@samchon/openapi/lib/composers/LlmSchemaComposer.d.ts": "import { ILlmSchema } from \"../structures/ILlmSchema\";\nimport { ChatGptTypeChecker } from \"../utils/ChatGptTypeChecker\";\nimport { GeminiTypeChecker } from \"../utils/GeminiTypeChecker\";\nimport { LlmTypeCheckerV3 } from \"../utils/LlmTypeCheckerV3\";\nimport { LlmTypeCheckerV3_1 } from \"../utils/LlmTypeCheckerV3_1\";\nexport declare namespace LlmSchemaComposer {\n const parameters: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: (props: {\n config: import(\"..\").IChatGptSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IChatGptSchema.IParameters, import(\"..\").IOpenApiSchemaError>;\n claude: (props: {\n config: import(\"..\").IClaudeSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IClaudeSchema.IParameters, import(\"..\").IOpenApiSchemaError>;\n deepseek: (props: {\n config: import(\"..\").IDeepSeekSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IDeepSeekSchema.IParameters, import(\"..\").IOpenApiSchemaError>;\n gemini: (props: {\n config: import(\"..\").IGeminiSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IGeminiSchema.IParameters, import(\"..\").IOpenApiSchemaError>;\n llama: (props: {\n config: import(\"..\").ILlamaSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n }) => import(\"..\").IResult<import(\"..\").ILlamaSchema.IParameters, import(\"..\").IOpenApiSchemaError>;\n \"3.0\": (props: {\n config: import(\"..\").ILlmSchemaV3.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n validate?: (schema: import(\"..\").OpenApi.IJsonSchema, accessor: string) => import(\"..\").IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").ILlmSchemaV3.IParameters, import(\"..\").IOpenApiSchemaError>;\n \"3.1\": (props: {\n config: import(\"..\").ILlmSchemaV3_1.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n errors?: string[];\n validate?: (input: import(\"..\").OpenApi.IJsonSchema, accessor: string) => import(\"..\").IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").ILlmSchemaV3_1.IParameters, import(\"..\").IOpenApiSchemaError>;\n }[Model];\n const schema: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: (props: {\n config: import(\"..\").IChatGptSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n $defs: Record<string, import(\"..\").IChatGptSchema>;\n schema: import(\"..\").OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IChatGptSchema, import(\"..\").IOpenApiSchemaError>;\n claude: (props: {\n config: import(\"..\").IClaudeSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n $defs: Record<string, import(\"..\").IClaudeSchema>;\n schema: import(\"..\").OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IClaudeSchema, import(\"..\").IOpenApiSchemaError>;\n deepseek: (props: {\n config: import(\"..\").IDeepSeekSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n $defs: Record<string, import(\"..\").IDeepSeekSchema>;\n schema: import(\"..\").OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IDeepSeekSchema, import(\"..\").IOpenApiSchemaError>;\n gemini: (props: {\n config: import(\"..\").IGeminiSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IGeminiSchema, import(\"..\").IOpenApiSchemaError>;\n llama: (props: {\n config: import(\"..\").ILlamaSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n $defs: Record<string, import(\"..\").ILlamaSchema>;\n schema: import(\"..\").OpenApi.IJsonSchema;\n }) => import(\"..\").IResult<import(\"..\").ILlamaSchema, import(\"..\").IOpenApiSchemaError>;\n \"3.0\": (props: {\n config: import(\"..\").ILlmSchemaV3.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema;\n validate?: (schema: import(\"..\").OpenApi.IJsonSchema, accessor: string) => import(\"..\").IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").ILlmSchemaV3, import(\"..\").IOpenApiSchemaError>;\n \"3.1\": (props: {\n config: import(\"..\").ILlmSchemaV3_1.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n $defs: Record<string, import(\"..\").ILlmSchemaV3_1>;\n schema: import(\"..\").OpenApi.IJsonSchema;\n validate?: (input: import(\"..\").OpenApi.IJsonSchema, accessor: string) => import(\"..\").IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").ILlmSchemaV3_1, import(\"..\").IOpenApiSchemaError>;\n }[Model];\n const defaultConfig: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: import(\"..\").IChatGptSchema.IConfig;\n claude: import(\"..\").IClaudeSchema.IConfig;\n deepseek: import(\"..\").IDeepSeekSchema.IConfig;\n gemini: import(\"..\").IGeminiSchema.IConfig;\n llama: import(\"..\").ILlamaSchema.IConfig;\n \"3.0\": import(\"..\").ILlmSchemaV3.IConfig;\n \"3.1\": import(\"..\").ILlmSchemaV3_1.IConfig;\n }[Model];\n const typeChecker: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: typeof ChatGptTypeChecker;\n claude: typeof LlmTypeCheckerV3_1;\n deepseek: typeof LlmTypeCheckerV3_1;\n gemini: typeof GeminiTypeChecker;\n llama: typeof LlmTypeCheckerV3_1;\n \"3.0\": typeof LlmTypeCheckerV3;\n \"3.1\": typeof LlmTypeCheckerV3_1;\n }[Model];\n const separateParameters: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: (props: {\n parameters: import(\"..\").IChatGptSchema.IParameters;\n predicate: (schema: import(\"..\").IChatGptSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n }) => import(\"..\").ILlmFunction.ISeparated<\"chatgpt\">;\n claude: (props: {\n parameters: import(\"..\").IClaudeSchema.IParameters;\n predicate: (schema: import(\"..\").IClaudeSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n }) => import(\"..\").ILlmFunction.ISeparated<\"claude\">;\n deepseek: (props: {\n parameters: import(\"..\").IDeepSeekSchema.IParameters;\n predicate: (schema: import(\"..\").IDeepSeekSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n }) => import(\"..\").ILlmFunction.ISeparated<\"deepseek\">;\n gemini: (props: {\n predicate: (schema: import(\"..\").IGeminiSchema) => boolean;\n parameters: import(\"..\").IGeminiSchema.IParameters;\n }) => import(\"..\").ILlmFunction.ISeparated<\"gemini\">;\n llama: (props: {\n parameters: import(\"..\").ILlamaSchema.IParameters;\n predicate: (schema: import(\"..\").ILlamaSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n }) => import(\"..\").ILlmFunction.ISeparated<\"llama\">;\n \"3.0\": (props: {\n predicate: (schema: import(\"..\").ILlmSchemaV3) => boolean;\n parameters: import(\"..\").ILlmSchemaV3.IParameters;\n }) => import(\"..\").ILlmFunction.ISeparated<\"3.0\">;\n \"3.1\": (props: {\n parameters: import(\"..\").ILlmSchemaV3_1.IParameters;\n predicate: (schema: import(\"..\").ILlmSchemaV3_1) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n }) => import(\"..\").ILlmFunction.ISeparated<\"3.1\">;\n }[Model];\n const invert: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: (props: {\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").IChatGptSchema;\n $defs: Record<string, import(\"..\").IChatGptSchema>;\n }) => import(\"..\").OpenApi.IJsonSchema;\n claude: (props: {\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").IClaudeSchema;\n $defs: Record<string, import(\"..\").IClaudeSchema>;\n }) => import(\"..\").OpenApi.IJsonSchema;\n deepseek: (props: {\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").IDeepSeekSchema;\n $defs: Record<string, import(\"..\").IDeepSeekSchema>;\n }) => import(\"..\").OpenApi.IJsonSchema;\n gemini: (props: {\n schema: import(\"..\").IGeminiSchema;\n }) => import(\"..\").OpenApi.IJsonSchema;\n llama: (props: {\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").ILlamaSchema;\n $defs: Record<string, import(\"..\").ILlamaSchema>;\n }) => import(\"..\").OpenApi.IJsonSchema;\n \"3.0\": (props: {\n schema: import(\"..\").ILlmSchemaV3;\n }) => import(\"..\").OpenApi.IJsonSchema;\n \"3.1\": (props: {\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").ILlmSchemaV3_1;\n $defs: Record<string, import(\"..\").ILlmSchemaV3_1>;\n }) => import(\"..\").OpenApi.IJsonSchema;\n }[Model];\n}\n",
12457
+ "node_modules/@samchon/openapi/lib/composers/llm/ChatGptSchemaComposer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { IChatGptSchema } from \"../../structures/IChatGptSchema\";\nimport { ILlmFunction } from \"../../structures/ILlmFunction\";\nimport { IOpenApiSchemaError } from \"../../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../../structures/IResult\";\nexport declare namespace ChatGptSchemaComposer {\n const DEFAULT_CONFIG: IChatGptSchema.IConfig;\n const parameters: (props: {\n config: IChatGptSchema.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IChatGptSchema.IParameters, IOpenApiSchemaError>;\n const schema: (props: {\n config: IChatGptSchema.IConfig;\n components: OpenApi.IComponents;\n $defs: Record<string, IChatGptSchema>;\n schema: OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IChatGptSchema, IOpenApiSchemaError>;\n const separateParameters: (props: {\n parameters: IChatGptSchema.IParameters;\n predicate: (schema: IChatGptSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n }) => ILlmFunction.ISeparated<\"chatgpt\">;\n const invert: (props: {\n components: OpenApi.IComponents;\n schema: IChatGptSchema;\n $defs: Record<string, IChatGptSchema>;\n }) => OpenApi.IJsonSchema;\n}\n",
12458
+ "node_modules/@samchon/openapi/lib/composers/llm/ClaudeSchemaComposer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { IClaudeSchema } from \"../../structures/IClaudeSchema\";\nimport { ILlmFunction } from \"../../structures/ILlmFunction\";\nimport { IOpenApiSchemaError } from \"../../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../../structures/IResult\";\nexport declare namespace ClaudeSchemaComposer {\n const DEFAULT_CONFIG: IClaudeSchema.IConfig;\n const parameters: (props: {\n config: IClaudeSchema.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IClaudeSchema.IParameters, IOpenApiSchemaError>;\n const schema: (props: {\n config: IClaudeSchema.IConfig;\n components: OpenApi.IComponents;\n $defs: Record<string, IClaudeSchema>;\n schema: OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IClaudeSchema, IOpenApiSchemaError>;\n const separateParameters: (props: {\n parameters: IClaudeSchema.IParameters;\n predicate: (schema: IClaudeSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n }) => ILlmFunction.ISeparated<\"claude\">;\n const invert: (props: {\n components: OpenApi.IComponents;\n schema: IClaudeSchema;\n $defs: Record<string, IClaudeSchema>;\n }) => OpenApi.IJsonSchema;\n}\n",
12459
+ "node_modules/@samchon/openapi/lib/composers/llm/DeepSeekSchemaComposer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { IDeepSeekSchema } from \"../../structures/IDeepSeekSchema\";\nimport { ILlmFunction } from \"../../structures/ILlmFunction\";\nimport { IOpenApiSchemaError } from \"../../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../../structures/IResult\";\nexport declare namespace DeepSeekSchemaComposer {\n const DEFAULT_CONFIG: IDeepSeekSchema.IConfig;\n const parameters: (props: {\n config: IDeepSeekSchema.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IDeepSeekSchema.IParameters, IOpenApiSchemaError>;\n const schema: (props: {\n config: IDeepSeekSchema.IConfig;\n components: OpenApi.IComponents;\n $defs: Record<string, IDeepSeekSchema>;\n schema: OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IDeepSeekSchema, IOpenApiSchemaError>;\n const separateParameters: (props: {\n parameters: IDeepSeekSchema.IParameters;\n predicate: (schema: IDeepSeekSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n }) => ILlmFunction.ISeparated<\"deepseek\">;\n const invert: (props: {\n components: OpenApi.IComponents;\n schema: IDeepSeekSchema;\n $defs: Record<string, IDeepSeekSchema>;\n }) => OpenApi.IJsonSchema;\n}\n",
12460
+ "node_modules/@samchon/openapi/lib/composers/llm/GeminiSchemaComposer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { IGeminiSchema } from \"../../structures/IGeminiSchema\";\nimport { ILlmFunction } from \"../../structures/ILlmFunction\";\nimport { IOpenApiSchemaError } from \"../../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../../structures/IResult\";\nexport declare namespace GeminiSchemaComposer {\n const DEFAULT_CONFIG: IGeminiSchema.IConfig;\n const parameters: (props: {\n config: IGeminiSchema.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IGeminiSchema.IParameters, IOpenApiSchemaError>;\n const schema: (props: {\n config: IGeminiSchema.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IGeminiSchema, IOpenApiSchemaError>;\n const separateParameters: (props: {\n predicate: (schema: IGeminiSchema) => boolean;\n parameters: IGeminiSchema.IParameters;\n }) => ILlmFunction.ISeparated<\"gemini\">;\n const invert: (props: {\n schema: IGeminiSchema;\n }) => OpenApi.IJsonSchema;\n}\n",
12461
+ "node_modules/@samchon/openapi/lib/composers/llm/LlamaSchemaComposer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { ILlamaSchema } from \"../../structures/ILlamaSchema\";\nimport { ILlmFunction } from \"../../structures/ILlmFunction\";\nimport { IOpenApiSchemaError } from \"../../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../../structures/IResult\";\nexport declare namespace LlamaSchemaComposer {\n const DEFAULT_CONFIG: ILlamaSchema.IConfig;\n const parameters: (props: {\n config: ILlamaSchema.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference;\n }) => IResult<ILlamaSchema.IParameters, IOpenApiSchemaError>;\n const schema: (props: {\n config: ILlamaSchema.IConfig;\n components: OpenApi.IComponents;\n $defs: Record<string, ILlamaSchema>;\n schema: OpenApi.IJsonSchema;\n }) => IResult<ILlamaSchema, IOpenApiSchemaError>;\n const separateParameters: (props: {\n parameters: ILlamaSchema.IParameters;\n predicate: (schema: ILlamaSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n }) => ILlmFunction.ISeparated<\"llama\">;\n const invert: (props: {\n components: OpenApi.IComponents;\n schema: ILlamaSchema;\n $defs: Record<string, ILlamaSchema>;\n }) => OpenApi.IJsonSchema;\n}\n",
12462
12462
  "node_modules/@samchon/openapi/lib/composers/llm/LlmDescriptionInverter.d.ts": "import { OpenApi } from \"../../OpenApi\";\nexport declare namespace LlmDescriptionInverter {\n const numeric: (description: string | undefined) => Pick<OpenApi.IJsonSchema.INumber, \"minimum\" | \"maximum\" | \"exclusiveMinimum\" | \"exclusiveMaximum\" | \"multipleOf\" | \"description\">;\n const string: (description: string | undefined) => Pick<OpenApi.IJsonSchema.IString, \"format\" | \"pattern\" | \"contentMediaType\" | \"minLength\" | \"maxLength\" | \"description\">;\n const array: (description: string | undefined) => Pick<OpenApi.IJsonSchema.IArray, \"minItems\" | \"maxItems\" | \"uniqueItems\" | \"description\">;\n}\n",
12463
12463
  "node_modules/@samchon/openapi/lib/composers/llm/LlmParametersComposer.d.ts": "export {};\n",
12464
- "node_modules/@samchon/openapi/lib/composers/llm/LlmSchemaV3Composer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { ILlmFunction } from \"../../structures/ILlmFunction\";\nimport { ILlmSchemaV3 } from \"../../structures/ILlmSchemaV3\";\nimport { IOpenApiSchemaError } from \"../../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../../structures/IResult\";\nexport declare namespace LlmSchemaV3Composer {\n const parameters: (props: {\n config: ILlmSchemaV3.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference;\n /** @internal */\n validate?: (schema: OpenApi.IJsonSchema, accessor: string) => IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => IResult<ILlmSchemaV3.IParameters, IOpenApiSchemaError>;\n const schema: (props: {\n config: ILlmSchemaV3.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema;\n /** @internal */\n validate?: (schema: OpenApi.IJsonSchema, accessor: string) => IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => IResult<ILlmSchemaV3, IOpenApiSchemaError>;\n const separateParameters: (props: {\n predicate: (schema: ILlmSchemaV3) => boolean;\n parameters: ILlmSchemaV3.IParameters;\n }) => ILlmFunction.ISeparated<\"3.0\">;\n const invert: (props: {\n schema: ILlmSchemaV3;\n }) => OpenApi.IJsonSchema;\n}\n",
12465
- "node_modules/@samchon/openapi/lib/composers/llm/LlmSchemaV3_1Composer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { ILlmFunction } from \"../../structures/ILlmFunction\";\nimport { ILlmSchemaV3_1 } from \"../../structures/ILlmSchemaV3_1\";\nimport { IOpenApiSchemaError } from \"../../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../../structures/IResult\";\nexport declare namespace LlmSchemaV3_1Composer {\n const parameters: (props: {\n config: ILlmSchemaV3_1.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference;\n errors?: string[];\n /** @internal */\n validate?: (input: OpenApi.IJsonSchema, accessor: string) => IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => IResult<ILlmSchemaV3_1.IParameters, IOpenApiSchemaError>;\n const schema: (props: {\n config: ILlmSchemaV3_1.IConfig;\n components: OpenApi.IComponents;\n $defs: Record<string, ILlmSchemaV3_1>;\n schema: OpenApi.IJsonSchema;\n /** @internal */\n validate?: (input: OpenApi.IJsonSchema, accessor: string) => IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => IResult<ILlmSchemaV3_1, IOpenApiSchemaError>;\n const separateParameters: (props: {\n parameters: ILlmSchemaV3_1.IParameters;\n predicate: (schema: ILlmSchemaV3_1) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n }) => ILlmFunction.ISeparated<\"3.1\">;\n const invert: (props: {\n components: OpenApi.IComponents;\n schema: ILlmSchemaV3_1;\n $defs: Record<string, ILlmSchemaV3_1>;\n }) => OpenApi.IJsonSchema;\n}\n",
12464
+ "node_modules/@samchon/openapi/lib/composers/llm/LlmSchemaV3Composer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { ILlmFunction } from \"../../structures/ILlmFunction\";\nimport { ILlmSchemaV3 } from \"../../structures/ILlmSchemaV3\";\nimport { IOpenApiSchemaError } from \"../../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../../structures/IResult\";\nexport declare namespace LlmSchemaV3Composer {\n const DEFAULT_CONFIG: ILlmSchemaV3.IConfig;\n const parameters: (props: {\n config: ILlmSchemaV3.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference;\n /** @internal */\n validate?: (schema: OpenApi.IJsonSchema, accessor: string) => IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => IResult<ILlmSchemaV3.IParameters, IOpenApiSchemaError>;\n const schema: (props: {\n config: ILlmSchemaV3.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema;\n /** @internal */\n validate?: (schema: OpenApi.IJsonSchema, accessor: string) => IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => IResult<ILlmSchemaV3, IOpenApiSchemaError>;\n const separateParameters: (props: {\n predicate: (schema: ILlmSchemaV3) => boolean;\n parameters: ILlmSchemaV3.IParameters;\n }) => ILlmFunction.ISeparated<\"3.0\">;\n const invert: (props: {\n schema: ILlmSchemaV3;\n }) => OpenApi.IJsonSchema;\n}\n",
12465
+ "node_modules/@samchon/openapi/lib/composers/llm/LlmSchemaV3_1Composer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { ILlmFunction } from \"../../structures/ILlmFunction\";\nimport { ILlmSchemaV3_1 } from \"../../structures/ILlmSchemaV3_1\";\nimport { IOpenApiSchemaError } from \"../../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../../structures/IResult\";\nexport declare namespace LlmSchemaV3_1Composer {\n const DEFAULT_CONFIG: ILlmSchemaV3_1.IConfig;\n const parameters: (props: {\n config: ILlmSchemaV3_1.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference;\n errors?: string[];\n /** @internal */\n validate?: (input: OpenApi.IJsonSchema, accessor: string) => IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => IResult<ILlmSchemaV3_1.IParameters, IOpenApiSchemaError>;\n const schema: (props: {\n config: ILlmSchemaV3_1.IConfig;\n components: OpenApi.IComponents;\n $defs: Record<string, ILlmSchemaV3_1>;\n schema: OpenApi.IJsonSchema;\n /** @internal */\n validate?: (input: OpenApi.IJsonSchema, accessor: string) => IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => IResult<ILlmSchemaV3_1, IOpenApiSchemaError>;\n const separateParameters: (props: {\n parameters: ILlmSchemaV3_1.IParameters;\n predicate: (schema: ILlmSchemaV3_1) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n }) => ILlmFunction.ISeparated<\"3.1\">;\n const invert: (props: {\n components: OpenApi.IComponents;\n schema: ILlmSchemaV3_1;\n $defs: Record<string, ILlmSchemaV3_1>;\n }) => OpenApi.IJsonSchema;\n}\n",
12466
12466
  "node_modules/@samchon/openapi/lib/composers/migrate/HttpMigrateApplicationComposer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { IHttpMigrateApplication } from \"../../structures/IHttpMigrateApplication\";\nexport declare namespace HttpMigrateApplicationComposer {\n const compose: (document: OpenApi.IDocument) => IHttpMigrateApplication;\n}\n",
12467
12467
  "node_modules/@samchon/openapi/lib/composers/migrate/HttpMigrateRouteAccessor.d.ts": "import { IHttpMigrateRoute } from \"../../structures/IHttpMigrateRoute\";\nexport declare namespace HttpMigrateRouteAccessor {\n const overwrite: (routes: IHttpMigrateRoute[]) => void;\n}\n",
12468
12468
  "node_modules/@samchon/openapi/lib/composers/migrate/HttpMigrateRouteComposer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { IHttpMigrateRoute } from \"../../structures/IHttpMigrateRoute\";\nexport declare namespace HttpMigrateRouteComposer {\n interface IProps {\n document: OpenApi.IDocument;\n method: \"head\" | \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\n path: string;\n emendedPath: string;\n operation: OpenApi.IOperation;\n }\n const compose: (props: IProps) => IHttpMigrateRoute | string[];\n}\n",
@@ -12495,52 +12495,52 @@
12495
12495
  "node_modules/@samchon/openapi/lib/functional/_isFormatUrl.d.ts": "export declare const _isFormatUrl: (str: string) => boolean;\n",
12496
12496
  "node_modules/@samchon/openapi/lib/functional/_isFormatUuid.d.ts": "export declare const _isFormatUuid: (str: string) => boolean;\n",
12497
12497
  "node_modules/@samchon/openapi/lib/functional/_isUniqueItems.d.ts": "export declare const _isUniqueItems: (elements: any[]) => boolean;\n",
12498
- "node_modules/@samchon/openapi/lib/http/HttpError.d.ts": "/**\n * HTTP Error.\n *\n * `HttpError` is a type of error class who've been thrown by the remote HTTP server.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare class HttpError extends Error {\n readonly method: \"GET\" | \"DELETE\" | \"POST\" | \"PUT\" | \"PATCH\" | \"HEAD\";\n readonly path: string;\n readonly status: number;\n readonly headers: Record<string, string | string[]>;\n /**\n * Initializer Constructor.\n *\n * @param method Method of the HTTP request.\n * @param path Path of the HTTP request.\n * @param status Status code from the remote HTTP server.\n * @param message Error message from the remote HTTP server.\n */\n constructor(method: \"GET\" | \"DELETE\" | \"POST\" | \"PUT\" | \"PATCH\" | \"HEAD\", path: string, status: number, headers: Record<string, string | string[]>, message: string);\n /**\n * `HttpError` to JSON.\n *\n * When you call `JSON.stringify()` function on current `HttpError` instance,\n * this `HttpError.toJSON()` method would be automatically called.\n *\n * Also, if response body from the remote HTTP server forms a JSON object,\n * this `HttpError.toJSON()` method would be useful because it returns the\n * parsed JSON object about the {@link message} property.\n *\n * @template T Expected type of the response body.\n * @returns JSON object of the `HttpError`.\n */\n toJSON<T>(): HttpError.IProps<T>;\n}\nexport declare namespace HttpError {\n /**\n * Returned type of {@link HttpError.toJSON} method.\n */\n interface IProps<T> {\n method: \"GET\" | \"DELETE\" | \"POST\" | \"PUT\" | \"PATCH\" | \"HEAD\";\n path: string;\n status: number;\n headers: Record<string, string | string[]>;\n message: T;\n }\n}\n",
12498
+ "node_modules/@samchon/openapi/lib/http/HttpError.d.ts": "/**\n * Specialized error class for HTTP request failures\n *\n * `HttpError` is a custom error class that is thrown when an HTTP request fails\n * and receives an error response from a remote server. Unlike the standard\n * Error class, it carries detailed HTTP-specific information (method, path,\n * status code, headers) that enables more sophisticated error handling and\n * debugging in HTTP communication scenarios.\n *\n * This class is particularly useful for:\n *\n * - API client libraries that need to provide detailed error information\n * - Applications that require different handling based on HTTP status codes\n * - Logging and monitoring systems that need structured error data\n * - Debugging HTTP communication issues\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare class HttpError extends Error {\n /** The HTTP method that was used for the failed request */\n readonly method: \"GET\" | \"DELETE\" | \"POST\" | \"PUT\" | \"PATCH\" | \"HEAD\";\n /** The path or URL that was requested */\n readonly path: string;\n /** The HTTP status code returned by the server */\n readonly status: number;\n /** The HTTP response headers returned by the server as key-value pairs */\n readonly headers: Record<string, string | string[]>;\n /**\n * Creates a new HttpError instance\n *\n * Initializes an HttpError with comprehensive information about the failed\n * HTTP request. This constructor calls the parent Error constructor to set\n * the basic error message, and additionally stores HTTP-specific details as\n * readonly properties for later access.\n *\n * @example\n * ```typescript\n * const error = new HttpError(\n * 'POST',\n * '/api/login',\n * 401,\n * { 'content-type': 'application/json', 'www-authenticate': 'Bearer' },\n * '{\"error\": \"Invalid credentials\", \"code\": \"AUTH_FAILED\"}'\n * );\n * console.log(error.status); // 401\n * console.log(error.method); // \"POST\"\n * ```;\n *\n * @param method The HTTP method that was used for the request (GET, POST,\n * PUT, DELETE, PATCH, HEAD)\n * @param path The path or URL that was requested (e.g., '/api/users' or\n * 'https://api.example.com/users')\n * @param status The HTTP status code returned by the server (e.g., 404, 500,\n * 401)\n * @param headers The HTTP response headers returned by the server as\n * key-value pairs\n * @param message The error message from the server (typically the response\n * body text)\n */\n constructor(method: \"GET\" | \"DELETE\" | \"POST\" | \"PUT\" | \"PATCH\" | \"HEAD\", path: string, status: number, headers: Record<string, string | string[]>, message: string);\n /**\n * Serializes the HttpError instance to a JSON-compatible object\n *\n * This method serves two primary purposes:\n *\n * 1. **Automatic serialization**: When `JSON.stringify()` is called on an\n * HttpError, this method is automatically invoked to provide a clean JSON\n * representation\n * 2. **Structured error data**: When the server response body contains JSON,\n * this method parses it and provides structured access to error details\n *\n * The method implements lazy parsing for the response message:\n *\n * - JSON parsing is attempted only on the first call to avoid unnecessary\n * processing\n * - Successful parsing results are cached for subsequent calls\n * - If JSON parsing fails (e.g., for HTML error pages or plain text), the\n * original string is preserved and returned as-is\n *\n * @template T The expected type of the response body (defaults to any for\n * flexibility)\n * @returns A structured object containing all HTTP error information with the\n * message field containing either the parsed JSON object or the original\n * string\n */\n toJSON<T>(): HttpError.IProps<T>;\n}\nexport declare namespace HttpError {\n /**\n * Return type definition for the {@link HttpError.toJSON} method\n *\n * This interface provides a structured representation of all HTTP error\n * information in a format suitable for serialization, logging, debugging, and\n * API responses. It ensures consistency across different parts of an\n * application when handling HTTP errors.\n *\n * The generic type parameter `T` allows for type-safe access to the parsed\n * response body when the structure is known at compile time.\n *\n * @example\n * ```typescript\n * // Using with known error response structure\n * interface ApiErrorResponse {\n * code: string;\n * message: string;\n * details?: Record<string, any>;\n * }\n *\n * const errorProps: HttpError.IProps<ApiErrorResponse> = httpError.toJSON<ApiErrorResponse>();\n * console.log(errorProps.message.code); // Type-safe access to error code\n * ```;\n *\n * @template T The type of the message field (parsed response body)\n */\n interface IProps<T> {\n /** The HTTP method used for the request */\n method: \"GET\" | \"DELETE\" | \"POST\" | \"PUT\" | \"PATCH\" | \"HEAD\";\n /** The path or URL that was requested */\n path: string;\n /** The HTTP status code returned by the server */\n status: number;\n /**\n * The response headers as key-value pairs (values can be string or string\n * array)\n */\n headers: Record<string, string | string[]>;\n /** The response body (either parsed JSON object or original string) */\n message: T;\n }\n}\n",
12499
12499
  "node_modules/@samchon/openapi/lib/http/HttpLlmFunctionFetcher.d.ts": "import type { HttpLlm } from \"../HttpLlm\";\nimport { IHttpResponse } from \"../structures/IHttpResponse\";\nimport { ILlmSchema } from \"../structures/ILlmSchema\";\nexport declare namespace HttpLlmFunctionFetcher {\n const execute: <Model extends ILlmSchema.Model>(props: HttpLlm.IFetchProps<Model>) => Promise<unknown>;\n const propagate: <Model extends ILlmSchema.Model>(props: HttpLlm.IFetchProps<Model>) => Promise<IHttpResponse>;\n}\n",
12500
12500
  "node_modules/@samchon/openapi/lib/http/HttpMigrateRouteFetcher.d.ts": "import type { HttpMigration } from \"../HttpMigration\";\nimport { IHttpResponse } from \"../structures/IHttpResponse\";\nexport declare namespace HttpMigrateRouteFetcher {\n const execute: (props: HttpMigration.IFetchProps) => Promise<unknown>;\n const propagate: (props: HttpMigration.IFetchProps) => Promise<IHttpResponse>;\n}\n",
12501
12501
  "node_modules/@samchon/openapi/lib/index.d.ts": "export * from \"./OpenApi\";\nexport * from \"./SwaggerV2\";\nexport * from \"./OpenApiV3\";\nexport * from \"./OpenApiV3_1\";\nexport * from \"./structures/IJsonSchemaAttribute\";\nexport * from \"./utils/OpenApiTypeChecker\";\nexport * from \"./structures/IHttpMigrateApplication\";\nexport * from \"./structures/IHttpMigrateRoute\";\nexport * from \"./structures/IHttpConnection\";\nexport * from \"./structures/IHttpResponse\";\nexport * from \"./http/HttpError\";\nexport * from \"./HttpMigration\";\nexport * from \"./structures/IOpenApiSchemaError\";\nexport * from \"./structures/IResult\";\nexport * from \"./structures/IValidation\";\nexport * from \"./structures/IHttpLlmController\";\nexport * from \"./structures/ILlmController\";\nexport * from \"./structures/IMcpLlmController\";\nexport * from \"./structures/IHttpLlmApplication\";\nexport * from \"./structures/IHttpLlmFunction\";\nexport * from \"./structures/ILlmApplication\";\nexport * from \"./structures/ILlmFunction\";\nexport * from \"./structures/IChatGptSchema\";\nexport * from \"./structures/IClaudeSchema\";\nexport * from \"./structures/IDeepSeekSchema\";\nexport * from \"./structures/IGeminiSchema\";\nexport * from \"./structures/ILlamaSchema\";\nexport * from \"./structures/ILlmSchema\";\nexport * from \"./structures/ILlmSchemaV3\";\nexport * from \"./structures/ILlmSchemaV3_1\";\nexport * from \"./utils/ChatGptTypeChecker\";\nexport * from \"./utils/ClaudeTypeChecker\";\nexport * from \"./utils/DeepSeekTypeChecker\";\nexport * from \"./utils/GeminiTypeChecker\";\nexport * from \"./utils/LlamaTypeChecker\";\nexport * from \"./utils/LlmTypeCheckerV3\";\nexport * from \"./utils/LlmTypeCheckerV3_1\";\nexport * from \"./HttpLlm\";\nexport * from \"./McpLlm\";\nexport * from \"./structures/IMcpLlmApplication\";\nexport * from \"./structures/IMcpLlmFunction\";\nexport * from \"./structures/IMcpTool\";\n",
12502
- "node_modules/@samchon/openapi/lib/structures/IChatGptSchema.d.ts": "import { IJsonSchemaAttribute } from \"./IJsonSchemaAttribute\";\n/**\n * Type schema info of the ChatGPT.\n *\n * `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n *\n * `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n * speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n *\n * However, the `IChatGptSchema` does not follow the entire specification of\n * the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n * list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n * - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n * - When {@link IChatGptSchema.IConfig.strict} mode\n * - Every object properties must be required\n * - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n *\n * If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n *\n * - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n * - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n * - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n * - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n * - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n * - When {@link IChatGptSchema.IConfig.strict} mode\n * - Every object properties must be required\n * - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n *\n * For reference, if you've composed the `IChatGptSchema` type with the\n * {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n * only the recursived named types would be archived into the\n * {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n * {@link IChatGptSchema.IReference} type.\n *\n * Also, OpenAI has banned below constraint properties. Instead, `IChatGptSchema`\n * fills the {@link IChatGptSchema.__IAttribute.description} property with\n * the comment text like `\"@format uuid\"`.\n *\n * - {@link OpenApi.IJsonSchema.INumber.minimum}\n * - {@link OpenApi.IJsonSchema.INumber.maximum}\n * - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n * - {@link OpenApi.IJsonSchema.IString.minLength}\n * - {@link OpenApi.IJsonSchema.IString.maxLength}\n * - {@link OpenApi.IJsonSchema.IString.format}\n * - {@link OpenApi.IJsonSchema.IString.pattern}\n * - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n * - {@link OpenApi.IJsonSchema.IString.default}\n * - {@link OpenApi.IJsonSchema.IArray.minItems}\n * - {@link OpenApi.IJsonSchema.IArray.maxItems}\n * - {@link OpenApi.IJsonSchema.IArray.unique}\n *\n * Additionally, OpenAI cannot define the `description` property to the\n * {@link IChatGptSchema.IReference} type, and even does not understand\n * the capsulization to the {@link IChatGptSchema.IAnyOf} type.\n * Therefore, the `description` is written to the parent object type,\n * not the reference type.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"description\": \"### Description of {@link something} property.\\n\\n> Hello?\",\n * \"properties\": {\n * \"something\": {\n * \"$ref\": \"#/$defs/SomeObject\"\n * }\n * }\n * }\n * ```\n *\n * @reference https://platform.openai.com/docs/guides/function-calling\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n * @warning Specified not only by the official documentation, but also by my\n * experiments. Therefore, its definitions can be inaccurate or be\n * changed in the future. If you find any wrong or outdated definitions,\n * please let me know by issue.\n * @issue https://github.com/samchon/openapi/issues\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport type IChatGptSchema = IChatGptSchema.IBoolean | IChatGptSchema.IInteger | IChatGptSchema.INumber | IChatGptSchema.IString | IChatGptSchema.IArray | IChatGptSchema.IObject | IChatGptSchema.IReference | IChatGptSchema.IAnyOf | IChatGptSchema.INull | IChatGptSchema.IUnknown;\nexport declare namespace IChatGptSchema {\n /**\n * Type of the function parameters.\n *\n * `IChatGptSchema.IParameters` is a type defining a function's parameters\n * as a keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n interface IParameters extends Omit<IObject, \"additionalProperties\"> {\n /**\n * Collection of the named types.\n */\n $defs: Record<string, IChatGptSchema>;\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * By the way, it is not allowed in the parameters level.\n */\n additionalProperties: false;\n }\n /**\n * Boolean type info.\n */\n interface IBoolean extends IJsonSchemaAttribute.IBoolean {\n /**\n * Enumeration values.\n */\n enum?: Array<boolean>;\n }\n /**\n * Integer type info.\n */\n interface IInteger extends IJsonSchemaAttribute.IInteger {\n /**\n * Enumeration values.\n */\n enum?: Array<number>;\n }\n /**\n * Number (double) type info.\n */\n interface INumber extends IJsonSchemaAttribute.INumber {\n /**\n * Enumeration values.\n */\n enum?: Array<number>;\n }\n /**\n * String type info.\n */\n interface IString extends IJsonSchemaAttribute.IString {\n /**\n * Enumeration values.\n */\n enum?: Array<string>;\n }\n /**\n * Array type info.\n */\n interface IArray extends IJsonSchemaAttribute.IArray {\n /**\n * Items type info.\n *\n * The `items` means the type of the array elements. In other words, it is\n * the type schema info of the `T` in the TypeScript array type `Array<T>`.\n */\n items: IChatGptSchema;\n }\n /**\n * Object type info.\n */\n interface IObject extends IJsonSchemaAttribute.IObject {\n /**\n * Properties of the object.\n *\n * The `properties` means a list of key-value pairs of the object's\n * regular properties. The key is the name of the regular property,\n * and the value is the type schema info.\n */\n properties: Record<string, IChatGptSchema>;\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * By the way, if you've configured {@link IChatGptSchema.IConfig.strict} as `true`,\n * ChatGPT function calling does not support such dynamic key typed properties, so\n * the `additionalProperties` becomes always `false`.\n */\n additionalProperties?: boolean | IChatGptSchema;\n /**\n * List of key values of the required properties.\n *\n * The `required` means a list of the key values of the required\n * {@link properties}. If some property key is not listed in the `required`\n * list, it means that property is optional. Otherwise some property key\n * exists in the `required` list, it means that the property must be filled.\n *\n * Below is an example of the {@link properties} and `required`.\n *\n * ```typescript\n * interface SomeObject {\n * id: string;\n * email: string;\n * name?: string;\n * }\n * ```\n *\n * As you can see, `id` and `email` {@link properties} are {@link required},\n * so that they are listed in the `required` list.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"id\": { \"type\": \"string\" },\n * \"email\": { \"type\": \"string\" },\n * \"name\": { \"type\": \"string\" }\n * },\n * \"required\": [\"id\", \"email\"]\n * }\n * ```\n */\n required: string[];\n }\n /**\n * Reference type directing named schema.\n */\n interface IReference extends IJsonSchemaAttribute {\n /**\n * Reference to the named schema.\n *\n * The `ref` is a reference to the named schema. Format of the `$ref` is\n * following the JSON Pointer specification. In the OpenAPI, the `$ref`\n * starts with `#/$defs/` which means the type is stored in\n * the {@link IChatGptSchema.IParameters.$defs} object.\n *\n * - `#/$defs/SomeObject`\n * - `#/$defs/AnotherObject`\n */\n $ref: string;\n }\n /**\n * Union type.\n *\n * `IOneOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has\n * defined `anyOf` instead of the `oneOf`, {@link IChatGptSchema} forcibly\n * converts it to `oneOf` type.\n */\n interface IAnyOf extends IJsonSchemaAttribute {\n /**\n * List of the union types.\n */\n anyOf: Exclude<IChatGptSchema, IChatGptSchema.IAnyOf>[];\n }\n /**\n * Null type.\n */\n interface INull extends IJsonSchemaAttribute.INull {\n }\n /**\n * Unknown, the `any` type.\n */\n interface IUnknown extends IJsonSchemaAttribute.IUnknown {\n }\n /**\n * Significant attributes that can be applied to the most types.\n *\n * @deprecated\n * @hidden\n */\n interface __ISignificant<Type extends string> extends __IAttribute {\n /**\n * Discriminator value of the type.\n */\n type: Type;\n }\n /**\n * Common attributes that can be applied to all types.\n *\n * @deprecated\n * @hidden\n */\n type __IAttribute = IJsonSchemaAttribute;\n /**\n * Configuration for ChatGPT schema composition.\n */\n interface IConfig {\n /**\n * Whether to allow reference type in everywhere.\n *\n * If you configure this property to `false`, most of reference types\n * represented by {@link IChatGptSchema.IReference} would be escaped to\n * a plain type unless recursive type case.\n *\n * This is because the lower version of ChatGPT does not understand the\n * reference type well, and even the modern version of ChatGPT sometimes occur\n * the hallucination.\n *\n * However, the reference type makes the schema size smaller, so that reduces\n * the LLM token cost. Therefore, if you're using the modern version of ChatGPT,\n * and want to reduce the LLM token cost, you can configure this property to\n * `true`.\n *\n * @default false\n */\n reference: boolean;\n /**\n * Whether to apply the strict mode.\n *\n * If you configure this property to `true`, the ChatGPT function calling\n * does not allow optional properties and dynamic key typed properties in the\n * {@link IChatGptSchema.IObject} type. Instead, it increases the success\n * rate of the function calling.\n *\n * By the way, if you utilize the {@link typia.validate} function and give\n * its validation feedback to the ChatGPT, its performance is much better\n * than the strict mode. Therefore, I recommend you to just turn off the\n * strict mode and utilize the {@link typia.validate} function instead.\n *\n * @default false\n */\n strict?: boolean;\n }\n}\n",
12503
- "node_modules/@samchon/openapi/lib/structures/IClaudeSchema.d.ts": "import { ILlmSchemaV3_1 } from \"./ILlmSchemaV3_1\";\n/**\n * Type schema info of the Claude.\n *\n * `IClaudeSchema` is a type schema info of the Claude function calling.\n *\n * `IClaudeSchema` seems fully supporting the JSON schema definition of the OpenAPI v3.1\n * specification; {@link OpenApiV3_1.IJsonSchema}. By the way, as the\n * {@link OpenApiV3_1.IJsonSchema} has too much ambiguous and duplicated expressions,\n * `IClaudeSchema` is designed to be clear and simple for the Claude function calling,\n * by utilizng {@link ILlmSchemaV3_1} which has been transformed from the\n * {@link OpenApi.IJsonSchema} for the convenience and clarity.\n *\n * Therefore, `IClaudeSchema` does not follow the entire specification of\n * the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n * list of how `ILlmSchemaV3_1` is different with the OpenAPI v3.1 JSON schema.\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n * - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to {@link IClaudeSchema.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IClaudeSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IClaudeSchema.IReference}\n * - Do not support {@link OpenApiV3_1.IJsonSchema.ITuple} type\n *\n * If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n *\n * - {@link IClaudeSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.schemas}\n * - Do not support {@link OpenApi.IJsonSchema.ITuple} type\n * - {@link IClaudeSchema.properties} and {@link IClaudeSchema.required} are always defined\n *\n * For reference, if you've composed the `IClaudeSchema` type with the\n * {@link IClaudeSchema.IConfig.reference} `false` option (default is `false`), only the\n * recursive named types would be archived into the {@link IClaudeSchema.IParameters.$defs},\n * and the others would be escaped from the {@link IClaudeSchema.IReference} type.\n *\n * @reference https://docs.anthropic.com/en/docs/build-with-claude/tool-use\n * @reference https://docs.anthropic.com/en/docs/test-and-evaluate/strengthen-guardrails/increase-consistency\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport type IClaudeSchema = IClaudeSchema.IConstant | IClaudeSchema.IBoolean | IClaudeSchema.IInteger | IClaudeSchema.INumber | IClaudeSchema.IString | IClaudeSchema.IArray | IClaudeSchema.IObject | IClaudeSchema.IReference | IClaudeSchema.IOneOf | IClaudeSchema.INull | IClaudeSchema.IUnknown;\nexport declare namespace IClaudeSchema {\n /**\n * Configuration for Claude schema composition.\n */\n interface IConfig {\n /**\n * Whether to allow reference type in everywhere.\n *\n * If you configure this property to `false`, most of reference types\n * represented by {@link IClaudeSchema.IReference} would be escaped to\n * a plain type unless recursive type case.\n *\n * This is because some low sized LLM models does not understand the\n * reference type well, and even the large size LLM models sometimes occur\n * the hallucination.\n *\n * However, the reference type makes the schema size smaller, so that reduces\n * the LLM token cost. Therefore, if you're using the large size of LLM model,\n * and want to reduce the LLM token cost, you can configure this property to\n * `true`.\n *\n * @default false\n */\n reference: boolean;\n }\n /**\n * Type of the function parameters.\n *\n * `IClaudeSchema.IParameters` is a type defining a function's parameters\n * as a keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n type IParameters = ILlmSchemaV3_1.IParameters;\n /**\n * Constant value type.\n */\n type IConstant = ILlmSchemaV3_1.IConstant;\n /**\n * Boolean type info.\n */\n type IBoolean = ILlmSchemaV3_1.IBoolean;\n /**\n * Integer type info.\n */\n type IInteger = ILlmSchemaV3_1.IInteger;\n /**\n * Number (double) type info.\n */\n type INumber = ILlmSchemaV3_1.INumber;\n /**\n * String type info.\n */\n type IString = ILlmSchemaV3_1.IString;\n /**\n * Array type info.\n */\n type IArray = ILlmSchemaV3_1.IArray;\n /**\n * Object type info.\n */\n type IObject = ILlmSchemaV3_1.IObject;\n /**\n * Reference type directing named schema.\n */\n type IReference = ILlmSchemaV3_1.IReference;\n /**\n * Union type.\n *\n * `IOneOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has\n * defined `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly\n * converts it to `oneOf` type.\n */\n type IOneOf = ILlmSchemaV3_1.IOneOf;\n namespace IOneOf {\n /**\n * Discriminator info of the union type.\n */\n type IDiscriminator = ILlmSchemaV3_1.IOneOf.IDiscriminator;\n }\n /**\n * Null type.\n */\n type INull = ILlmSchemaV3_1.INull;\n /**\n * Unknown, the `any` type.\n */\n type IUnknown = ILlmSchemaV3_1.IUnknown;\n}\n",
12504
- "node_modules/@samchon/openapi/lib/structures/IDeepSeekSchema.d.ts": "import { ILlmSchemaV3_1 } from \"./ILlmSchemaV3_1\";\n/**\n * Type schema info of the DeepSeek.\n *\n * `IDeepSeekSchema` is a type schema info of the DeepSeek function calling.\n *\n * `IDeepSeekSchema` seems fully supporting the JSON schema definition of the OpenAPI v3.1\n * specification; {@link OpenApiV3_1.IJsonSchema}. By the way, as the\n * {@link OpenApiV3_1.IJsonSchema} has too much ambiguous and duplicated expressions,\n * `IDeepSeekSchema` is designed to be clear and simple for the DeepSeek function calling,\n * by utilizing {@link ILlmSchemaV3_1} which has been transformed from the\n * {@link OpenApi.IJsonSchema} for the convenience and clarity.\n *\n * Therefore, `IDeepSeekSchema` does not follow the entire specification of\n * the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n * list of how `ILlmSchemaV3_1` is different with the OpenAPI v3.1 JSON schema.\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n * - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to {@link IDeepSeekSchema.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IDeepSeekSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IDeepSeekSchema.IReference}\n * - Do not support {@link OpenApiV3_1.IJsonSchema.ITuple} type\n *\n * If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n *\n * - {@link IDeepSeekSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.schemas}\n * - Do not support {@link OpenApi.IJsonSchema.ITuple} type\n * - {@link IDeepSeekSchema.properties} and {@link IDeepSeekSchema.required} are always defined\n *\n * For reference, if you've composed the `IDeepSeekSchema` type with the\n * {@link IDeepSeekSchema.IConfig.reference} `false` option (default is `false`), only the\n * recursive named types would be archived into the {@link IDeepSeekSchema.IParameters.$defs},\n * and the others would be escaped from the {@link IDeepSeekSchema.IReference} type.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport type IDeepSeekSchema = IDeepSeekSchema.IConstant | IDeepSeekSchema.IBoolean | IDeepSeekSchema.IInteger | IDeepSeekSchema.INumber | IDeepSeekSchema.IString | IDeepSeekSchema.IArray | IDeepSeekSchema.IObject | IDeepSeekSchema.IReference | IDeepSeekSchema.IOneOf | IDeepSeekSchema.INull | IDeepSeekSchema.IUnknown;\nexport declare namespace IDeepSeekSchema {\n /**\n * Configuration for DeepSeek schema composition.\n */\n interface IConfig {\n /**\n * Whether to allow reference type in everywhere.\n *\n * If you configure this property to `false`, most of reference types\n * represented by {@link IDeepSeekSchema.IReference} would be escaped to\n * a plain type unless recursive type case.\n *\n * This is because some low sized LLM models does not understand the\n * reference type well, and even the large size LLM models sometimes occur\n * the hallucination.\n *\n * However, the reference type makes the schema size smaller, so that reduces\n * the LLM token cost. Therefore, if you're using the large size of LLM model,\n * and want to reduce the LLM token cost, you can configure this property to\n * `true`.\n *\n * @default false\n */\n reference: boolean;\n }\n /**\n * Type of the function parameters.\n *\n * `IDeepSeekSchema.IParameters` is a type defining a function's parameters\n * as a keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n type IParameters = ILlmSchemaV3_1.IParameters;\n /**\n * Constant value type.\n */\n type IConstant = ILlmSchemaV3_1.IConstant;\n /**\n * Boolean type info.\n */\n type IBoolean = ILlmSchemaV3_1.IBoolean;\n /**\n * Integer type info.\n */\n type IInteger = ILlmSchemaV3_1.IInteger;\n /**\n * Number (double) type info.\n */\n type INumber = ILlmSchemaV3_1.INumber;\n /**\n * String type info.\n */\n type IString = ILlmSchemaV3_1.IString;\n /**\n * Array type info.\n */\n type IArray = ILlmSchemaV3_1.IArray;\n /**\n * Object type info.\n */\n type IObject = ILlmSchemaV3_1.IObject;\n /**\n * Reference type directing named schema.\n */\n type IReference = ILlmSchemaV3_1.IReference;\n /**\n * Union type.\n *\n * `IOneOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has\n * defined `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly\n * converts it to `oneOf` type.\n */\n type IOneOf = ILlmSchemaV3_1.IOneOf;\n namespace IOneOf {\n /**\n * Discriminator info of the union type.\n */\n type IDiscriminator = ILlmSchemaV3_1.IOneOf.IDiscriminator;\n }\n /**\n * Null type.\n */\n type INull = ILlmSchemaV3_1.INull;\n /**\n * Unknown, the `any` type.\n */\n type IUnknown = ILlmSchemaV3_1.IUnknown;\n}\n",
12505
- "node_modules/@samchon/openapi/lib/structures/IGeminiSchema.d.ts": "import { IJsonSchemaAttribute } from \"./IJsonSchemaAttribute\";\n/**\n * Type schema info for the Gemini function calling.\n *\n * `IGeminiSchema` is a type metadata for the LLM (Large Language Model)\n * function calling in the Geminimi.\n *\n * `IGeminiSchema` basically follows the JSON schema definition of the\n * OpenAPI v3.0 specification; {@link OpenApiV3.IJsonSchema}. However,\n * `IGeminiSchema` cannot understand union and reference types, represented\n * by the `oneOf` and `$ref` properties. Also, as OpenAPI v3.0 specification\n * does not support the tuple type, `IGeminiSchema` does not support the\n * tuple type either.\n *\n * - Does not support\n * - {@link OpenApiV3.IJsonSchema.IReference}\n * - {@link OpenApiV3.IJsonSchema.IAllOf}\n * - {@link OpenApiV3.IJsonSchema.IAnyOf}\n * - {@link OpenApiV3.IJsonSchema.IOneOf}\n * - {@link OpenApiV3.IJsonSchema.IObject.additionalProperties}\n * - {@link OpenApiV3.IJsonSchema.__IAttribute.title}\n *\n * If compare with {@link OpenApi.IJsonSchema}, the emended JSON schema type,\n * these are not supported in the Gemini schema. One thing interesting is,\n * the Gemini does not support the `title` property, so it would be revealed\n * in the {@link IGeminiSchema.__IAttribute.description} property instead.\n *\n * - {@link OpenApi.IJsonSchema.IReference}\n * - {@link OpenApi.IJsonSchema.IOneOf}\n * - {@link OpenApi.IJsonSchema.ITuple}\n * - {@link OpenApi.IJsonSchema.IObject.additionalProperties}\n * - {@link OpenApi.IJsonSchema.__IAttribute.title}\n *\n * Also, Gemini has banned below constraint properties. Instead, I'll will\n * fill the {@link IGeminiSchema.__IAttribute.description} property with\n * the comment text like `\"@format uuid\"`.\n *\n * - {@link OpenApi.IJsonSchema.INumber.minimum}\n * - {@link OpenApi.IJsonSchema.INumber.maximum}\n * - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n * - {@link OpenApi.IJsonSchema.IString.minLength}\n * - {@link OpenApi.IJsonSchema.IString.maxLength}\n * - {@link OpenApi.IJsonSchema.IString.format}\n * - {@link OpenApi.IJsonSchema.IString.pattern}\n * - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n * - {@link OpenApi.IJsonSchema.IString.default}\n * - {@link OpenApi.IJsonSchema.IArray.minItems}\n * - {@link OpenApi.IJsonSchema.IArray.maxItems}\n * - {@link OpenApi.IJsonSchema.IArray.uniqueItems}\n *\n * @reference https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/function-calling\n * @reference https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/function-calling\n * @reference https://ai.google.dev/gemini-api/docs/structured-output\n * @warning Specified not only by the official documentation, but also by my\n * experiments. Therefore, its definitions can be inaccurate or be\n * changed in the future. If you find any wrong or outdated definitions,\n * please let me know by issue.\n * @issue https://github.com/samchon/openapi/issues\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport type IGeminiSchema = IGeminiSchema.IBoolean | IGeminiSchema.IInteger | IGeminiSchema.INumber | IGeminiSchema.IString | IGeminiSchema.IArray | IGeminiSchema.IObject | IGeminiSchema.IUnknown | IGeminiSchema.INullOnly;\nexport declare namespace IGeminiSchema {\n /**\n * Configuration for the Gemini schema composition.\n */\n interface IConfig {\n /**\n * Whether to allow recursive types or not.\n *\n * If allow, then how many times to repeat the recursive types.\n *\n * By the way, if the model is \"chatgpt\", the recursive types are always\n * allowed without any limitation, due to it supports the reference type.\n *\n * @default 3\n */\n recursive: false | number;\n }\n /**\n * Type of the function parameters.\n *\n * `IGeminiSchema.IParameters` is a type defining a function's parameters\n * as a keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://ai.google.dev/gemini-api/docs/structured-output\n */\n type IParameters = IObject;\n /**\n * Boolean type schema info.\n */\n interface IBoolean extends IJsonSchemaAttribute.IBoolean {\n /**\n * Whether to allow `null` value or not.\n */\n nullable?: boolean;\n /**\n * Enumeration values.\n */\n enum?: Array<boolean | null>;\n }\n /**\n * Integer type schema info.\n */\n interface IInteger extends IJsonSchemaAttribute.IInteger {\n /**\n * Whether to allow `null` value or not.\n */\n nullable?: boolean;\n /**\n * Enumeration values.\n *\n * @type int64\n */\n enum?: Array<number | null>;\n }\n /**\n * Number type schema info.\n */\n interface INumber extends IJsonSchemaAttribute.INumber {\n /**\n * Whether to allow `null` value or not.\n */\n nullable?: boolean;\n /**\n * Enumeration values.\n */\n enum?: Array<number | null>;\n }\n /**\n * String type schema info.\n */\n interface IString extends IJsonSchemaAttribute.IString {\n /**\n * Whether to allow `null` value or not.\n */\n nullable?: boolean;\n /**\n * Enumeration values.\n */\n enum?: Array<string | null>;\n }\n /**\n * Array type schema info.\n */\n interface IArray extends IJsonSchemaAttribute.IArray {\n /**\n * Whether to allow `null` value or not.\n */\n nullable?: boolean;\n /**\n * Items type schema info.\n *\n * The `items` means the type of the array elements. In other words, it is\n * the type schema info of the `T` in the TypeScript array type `Array<T>`.\n */\n items: IGeminiSchema;\n }\n /**\n * Object type schema info.\n */\n interface IObject extends IJsonSchemaAttribute.IObject {\n /**\n * Whether to allow `null` value or not.\n */\n nullable?: boolean;\n /**\n * Properties of the object.\n *\n * The `properties` means a list of key-value pairs of the object's\n * regular properties. The key is the name of the regular property,\n * and the value is the type schema info.\n *\n * If you need additional properties that is represented by dynamic key,\n * it is not possible to compose because the Gemini does not support it.\n */\n properties: Record<string, IGeminiSchema>;\n /**\n * List of key values of the required properties.\n *\n * The `required` means a list of the key values of the required\n * {@link properties}. If some property key is not listed in the `required`\n * list, it means that property is optional. Otherwise some property key\n * exists in the `required` list, it means that the property must be filled.\n *\n * Below is an example of the {@link properties} and `required`.\n *\n * ```typescript\n * interface SomeObject {\n * id: string;\n * email: string;\n * name?: string;\n * }\n * ```\n *\n * As you can see, `id` and `email` {@link properties} are {@link required},\n * so that they are listed in the `required` list.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"id\": { \"type\": \"string\" },\n * \"email\": { \"type\": \"string\" },\n * \"name\": { \"type\": \"string\" }\n * },\n * \"required\": [\"id\", \"email\"]\n * }\n * ```\n */\n required: string[];\n }\n /**\n * Null only type schema info.\n */\n interface INullOnly extends IJsonSchemaAttribute.INull {\n }\n /**\n * Unknown type schema info.\n *\n * It means the type of the value is `any`.\n */\n interface IUnknown extends IJsonSchemaAttribute.IUnknown {\n }\n /**\n * Significant attributes that can be applied to the most types.\n *\n * @deprecated\n * @hidden\n */\n interface __ISignificant<Type extends string> extends __IAttribute {\n /**\n * Discriminator value of the type.\n */\n type: Type;\n /**\n * Whether to allow `null` value or not.\n */\n nullable?: boolean;\n }\n /**\n * Common attributes that can be applied to all types.\n *\n * @deprecated\n * @hidden\n */\n type __IAttribute = IJsonSchemaAttribute;\n}\n",
12506
- "node_modules/@samchon/openapi/lib/structures/IHttpConnection.d.ts": "/**\n * Connection information.\n *\n * `IConnection` is an interface ttype who represents connection information of the\n * remote HTTP server. You can target the remote HTTP server by wring the\n * {@link IHttpConnection.host} variable down. Also, you can configure special header values\n * by specializing the {@link IHttpConnection.headers} variable.\n *\n * If the remote HTTP server encrypts or decrypts its body data through the AES-128/256\n * algorithm, specify the {@link IHttpConnection.encryption} with {@link IEncryptionPassword}\n * or {@link IEncryptionPassword.Closure} variable.\n *\n * @author Jenogho Nam - https://github.com/samchon\n * @author Seungjun We - https://github.com/SeungjunWe\n */\nexport interface IHttpConnection {\n /**\n * Host address of the remote HTTP server.\n */\n host: string;\n /**\n * Header values delivered to the remote HTTP server.\n */\n headers?: Record<string, IHttpConnection.HeaderValue>;\n /**\n * Additional options for the `fetch` function.\n */\n options?: IHttpConnection.IOptions;\n /**\n * Custom fetch function.\n *\n * If you want to use custom `fetch` function instead of built-in,\n * assign your custom `fetch` function into this property.\n *\n * For reference, the `fetch` function has started to be supported\n * since version 20 of NodeJS. Therefore, if you are using NodeJS\n * version 19 or lower, you have to assign the `node-fetch` module\n * into this property.\n */\n fetch?: typeof fetch;\n}\nexport declare namespace IHttpConnection {\n /**\n * Additional options for the `fetch` function.\n *\n * Almost same with {@link RequestInit} type of the {@link fetch} function,\n * but `body`, `headers` and `method` properties are omitted.\n *\n * The reason why defining duplicated definition of {@link RequestInit}\n * is for legacy NodeJS environments, which does not have the {@link fetch}\n * function type.\n */\n interface IOptions {\n /**\n * A string indicating how the request will interact with the browser's\n * cache to set request's cache.\n */\n cache?: \"default\" | \"force-cache\" | \"no-cache\" | \"no-store\" | \"only-if-cached\" | \"reload\";\n /**\n * A string indicating whether credentials will be sent with the request\n * always, never, or only when sent to a same-origin URL. Sets request's\n * credentials.\n */\n credentials?: \"omit\" | \"same-origin\" | \"include\";\n /**\n * A cryptographic hash of the resource to be fetched by request.\n *\n * Sets request's integrity.\n */\n integrity?: string;\n /**\n * A boolean to set request's keepalive.\n */\n keepalive?: boolean;\n /**\n * A string to indicate whether the request will use CORS, or will be\n * restricted to same-origin URLs.\n *\n * Sets request's mode.\n */\n mode?: \"cors\" | \"navigate\" | \"no-cors\" | \"same-origin\";\n /**\n * A string indicating whether request follows redirects, results in\n * an error upon encountering a redirect, or returns the redirect\n * (in an opaque fashion).\n *\n * Sets request's redirect.\n */\n redirect?: \"error\" | \"follow\" | \"manual\";\n /**\n * A string whose value is a same-origin URL, \"about:client\", or the\n * empty string, to set request's referrer.\n */\n referrer?: string;\n /**\n * A referrer policy to set request's referrerPolicy.\n */\n referrerPolicy?: \"\" | \"no-referrer\" | \"no-referrer-when-downgrade\" | \"origin\" | \"origin-when-cross-origin\" | \"same-origin\" | \"strict-origin\" | \"strict-origin-when-cross-origin\" | \"unsafe-url\";\n /**\n * An AbortSignal to set request's signal.\n */\n signal?: AbortSignal | null;\n }\n /**\n * Type of allowed header values.\n *\n * Only atomic or array of atomic values are allowed.\n */\n type HeaderValue = string | boolean | number | bigint | string | Array<boolean> | Array<number> | Array<bigint> | Array<number> | Array<string>;\n}\n",
12507
- "node_modules/@samchon/openapi/lib/structures/IHttpLlmApplication.d.ts": "import { OpenApi } from \"../OpenApi\";\nimport { IHttpLlmFunction } from \"./IHttpLlmFunction\";\nimport { IHttpMigrateRoute } from \"./IHttpMigrateRoute\";\nimport { ILlmApplication } from \"./ILlmApplication\";\nimport { ILlmSchema } from \"./ILlmSchema\";\n/**\n * Application of LLM function call from OpenAPI document.\n *\n * `IHttpLlmApplication` is a data structure representing a collection of\n * {@link IHttpLlmFunction LLM function calling schemas} composed from the\n * {@link OpenApi.IDocument OpenAPI document} and its {@link OpenApi.IOperation operation}\n * metadata. It also contains {@link IHttpLlmApplication.errors failed operations}, and\n * adjusted {@link IHttpLlmApplication.options options} during the `IHttpLlmApplication`\n * construction.\n *\n * About the {@link OpenApi.IOperation API operations}, they are converted to\n * {@link IHttpLlmFunction} type which represents LLM function calling schema.\n * By the way, if there're some types which does not supported by LLM, the operation\n * would be failed and pushed into the {@link IHttpLlmApplication.errors}. Otherwise not,\n * the operation would be successfully converted to {@link IHttpLlmFunction} and its\n * type schemas are downgraded to {@link OpenApiV3.IJsonSchema} and converted to\n * {@link ILlmSchemaV3}.\n *\n * For reference, the arguments type is composed by below rule.\n *\n * - `pathParameters`: Path parameters of {@link IHttpMigrateRoute.parameters}\n * - `query`: Query parameter of {@link IHttpMigrateRoute.query}\n * - `body`: Body parameter of {@link IHttpMigrateRoute.body}\n *\n * ```typescript\n * {\n * ...pathParameters,\n * query,\n * body,\n * }\n * ```\n *\n * By the way, there can be some parameters (or their nested properties) which must be\n * composed by Human, not by LLM. File uploading feature or some sensitive information\n * like secret key (password) are the examples. In that case, you can separate the\n * function parameters to both LLM and Human sides by configuring the\n * {@link IHttpLlmApplication.IOptions.separate} property. The separated parameters are\n * assigned to the {@link IHttpLlmFunction.separated} property.\n *\n * For reference, the actual function call execution is not by LLM, but by you.\n * When the LLM selects the proper function and fills the arguments, you just call\n * the function by {@link HttpLlm.execute} with the LLM prepared arguments. And then\n * informs the return value to the LLM by system prompt. The LLM will continue the next\n * conversation based on the return value.\n *\n * Additionally, if you've configured {@link IHttpLlmApplication.IOptions.separate},\n * so that the parameters are separated to Human and LLM sides, you can merge these\n * humand and LLM sides' parameters into one through {@link HttpLlm.mergeParameters}\n * before the actual LLM function call execution.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IHttpLlmApplication<Model extends ILlmSchema.Model> {\n /**\n * Model of the target LLM.\n */\n model: Model;\n /**\n * List of function metadata.\n *\n * List of function metadata that can be used for the LLM function call.\n *\n * When you want to execute the function with LLM constructed arguments,\n * you can do it through {@link LlmFetcher.execute} function.\n */\n functions: IHttpLlmFunction<Model>[];\n /**\n * List of errors occurred during the composition.\n */\n errors: IHttpLlmApplication.IError[];\n /**\n * Configuration for the application.\n */\n options: IHttpLlmApplication.IOptions<Model>;\n}\nexport declare namespace IHttpLlmApplication {\n /**\n * Options for the HTTP LLM application schema composition.\n */\n type IOptions<Model extends ILlmSchema.Model> = ILlmApplication.IOptions<Model> & {\n /**\n * Maximum length of function name.\n *\n * When a function name is longer than this value, it will be truncated.\n *\n * If not possible to truncate due to the duplication, the function name\n * would be modified to randomly generated (UUID v4).\n *\n * @default 64\n */\n maxLength?: number;\n };\n /**\n * Error occurred in the composition.\n */\n interface IError {\n /**\n * HTTP method of the endpoint.\n */\n method: \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\" | \"head\";\n /**\n * Path of the endpoint.\n */\n path: string;\n /**\n * Error messages.\n */\n messages: string[];\n /**\n * Get the Swagger operation metadata.\n *\n * Get the Swagger operation metadata, of the source.\n */\n operation: () => OpenApi.IOperation;\n /**\n * Get the migration route metadata.\n *\n * Get the migration route metadata, of the source.\n *\n * If the property returns `undefined`, it means that the error has\n * been occurred in the migration level, not of LLM application composition.\n *\n * @returns Migration route metadata.\n */\n route: () => IHttpMigrateRoute | undefined;\n }\n}\n",
12508
- "node_modules/@samchon/openapi/lib/structures/IHttpLlmController.d.ts": "import { IHttpConnection } from \"./IHttpConnection\";\nimport { IHttpLlmApplication } from \"./IHttpLlmApplication\";\nimport { IHttpLlmFunction } from \"./IHttpLlmFunction\";\nimport { IHttpResponse } from \"./IHttpResponse\";\nimport { ILlmSchema } from \"./ILlmSchema\";\n/**\n * Controller of HTTP LLM function calling.\n *\n * `IHttpLlmController` is a controller of HTTP LLM function calling,\n * containing not only the {@link IHttpLlmApplication application} of\n * {@link IHttpLlmFunction function calling schemas}, but also\n * {@link name identifier name} of the application and\n * {@link execute executor} of its HTTP functions.\n *\n * Here is an example of using `IHttpLlmController` type for AI agent\n * development of performing AI function calling to e-commerce API\n * functions through `@agentica`.\n *\n * ```typescript\n * import { Agentica } from \"@agentica/core\";\n * import { HttpLlm, OpenApi } from \"@samchon/openapi\";\n *\n * const agentica = new Agentica({\n * model: \"chatgpt\",\n * vendor: {\n * api: new OpenAI({ apiKey: \"********\" }),\n * model: \"gpt-4o-mini\",\n * },\n * controllers: [\n * {\n * protocol: \"http\",\n * name: \"shopping\",\n * application: HttpLlm.application(\n * model: \"chatgpt\",\n * document: await fetch(\n * \"https://shopping-be.wrtn.io/editor/swagger.json\",\n * ).then((r) => r.json()),\n * ),\n * connection: {\n * host: \"https://shopping-be.wrtn.io\",\n * headers: {\n * Authorization: \"Bearer ********\",\n * },\n * },\n * },\n * ],\n * });\n * await agentica.conversate(\"I wanna buy a new phone.\");\n * ```\n *\n * For reference, this `IHttpLlmController` type is designed for\n * HTTP API servers. If you want to make a controller of another\n * {@link protocol} like MCP or TypeScript, use below types instead:\n *\n * - {@link IMcpLlmController} for MCP\n * - {@link ILlmController} for TypeScript\n *\n * @template Model Type of the LLM model\n * @reference https://wrtnlabs.io/agentica/docs/core/controller/swagger/\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IHttpLlmController<Model extends ILlmSchema.Model> {\n /**\n * Protocol discriminator.\n */\n protocol: \"http\";\n /**\n * Identifier name of the controller.\n */\n name: string;\n /**\n * Application schema of function calling.\n */\n application: IHttpLlmApplication<Model>;\n /**\n * Connection to the server.\n *\n * Connection to the API server including the URL and headers.\n */\n connection: IHttpConnection;\n /**\n * Executor of the API function.\n *\n * Default executor is {@link HttpLlm.execute} function, and you can\n * override it with your own function.\n *\n * @param props Properties of the API function call\n * @returns HTTP response of the API function call\n */\n execute?: undefined | ((props: {\n /**\n * Connection to the server.\n */\n connection: IHttpConnection;\n /**\n * Application schema.\n */\n application: IHttpLlmApplication<Model>;\n /**\n * Function schema.\n */\n function: IHttpLlmFunction<Model>;\n /**\n * Arguments of the function calling.\n *\n * It is an object of key-value pairs of the API function's parameters.\n * The property keys are composed by below rules:\n *\n * - parameter names\n * - query parameter as an object type if exists\n * - body parameter if exists\n */\n arguments: object;\n }) => Promise<IHttpResponse>);\n}\n",
12509
- "node_modules/@samchon/openapi/lib/structures/IHttpLlmFunction.d.ts": "import { OpenApi } from \"../OpenApi\";\nimport { IHttpMigrateRoute } from \"./IHttpMigrateRoute\";\nimport { ILlmSchema } from \"./ILlmSchema\";\nimport { IValidation } from \"./IValidation\";\n/**\n * LLM function calling schema from HTTP (OpenAPI) operation.\n *\n * `IHttpLlmFunction` is a data structure representing a function converted\n * from the {@link OpenApi.IOperation OpenAPI operation}, used for the LLM\n * (Large Language Model) function calling. It's a typical RPC (Remote Procedure Call)\n * structure containing the function {@link name}, {@link parameters}, and\n * {@link output return type}.\n *\n * If you provide this `IHttpLlmFunction` data to the LLM provider like \"OpenAI\",\n * the \"OpenAI\" will compose a function arguments by analyzing conversations with\n * the user. With the LLM composed arguments, you can execute the function through\n * {@link LlmFetcher.execute} and get the result.\n *\n * For reference, different between `IHttpLlmFunction` and its origin source\n * {@link OpenApi.IOperation} is, `IHttpLlmFunction` has converted every type schema\n * information from {@link OpenApi.IJsonSchema} to {@link ILlmSchemaV3} to escape\n * {@link OpenApi.IJsonSchema.IReference reference types}, and downgrade the version\n * of the JSON schema to OpenAPI 3.0. It's because LLM function call feature cannot\n * understand both reference types and OpenAPI 3.1 specification.\n *\n * Additionally, the properties' rule is:\n *\n * - `pathParameters`: Path parameters of {@link OpenApi.IOperation.parameters}\n * - `query`: Query parameter of {@link IHttpMigrateRoute.query}\n * - `body`: Body parameter of {@link IHttpMigrateRoute.body}\n *\n * ```typescript\n * {\n * ...pathParameters,\n * query,\n * body,\n * }\n * ```\n *\n * @reference https://platform.openai.com/docs/guides/function-calling\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IHttpLlmFunction<Model extends ILlmSchema.Model> {\n /**\n * HTTP method of the endpoint.\n */\n method: \"get\" | \"post\" | \"patch\" | \"put\" | \"delete\";\n /**\n * Path of the endpoint.\n */\n path: string;\n /**\n * Representative name of the function.\n *\n * The `name` is a repsentative name identifying the function in the\n * {@link IHttpLlmApplication}. The `name` value is just composed by joining the\n * {@link IHttpMigrateRoute.accessor} by underscore `_` character.\n *\n * Here is the composition rule of the {@link IHttpMigrateRoute.accessor}:\n *\n * > The `accessor` is composed with the following rules. At first,\n * > namespaces are composed by static directory names in the {@link path}.\n * > Parametric symbols represented by `:param` or `{param}` cannot be\n * > a part of the namespace.\n * >\n * > Instead, they would be a part of the function name. The function\n * > name is composed with the {@link method HTTP method} and parametric\n * > symbols like `getByParam` or `postByParam`. If there are multiple\n * > path parameters, they would be concatenated by `And` like\n * > `getByParam1AndParam2`.\n * >\n * > For refefence, if the {@link operation}'s {@link method} is `delete`,\n * > the function name would be replaced to `erase` instead of `delete`.\n * > It is the reason why the `delete` is a reserved keyword in many\n * > programming languages.\n * >\n * > - Example 1\n * > - path: `POST /shopping/sellers/sales`\n * > - accessor: `shopping.sellers.sales.post`\n * > - Example 2\n * > - endpoint: `GET /shoppings/sellers/sales/:saleId/reviews/:reviewId/comments/:id\n * > - accessor: `shoppings.sellers.sales.reviews.getBySaleIdAndReviewIdAndCommentId`\n *\n * @maxLength 64\n */\n name: string;\n /**\n * List of parameter types.\n *\n * If you've configured {@link IHttpLlmApplication.IOptions.keyword} as `true`,\n * number of {@link IHttpLlmFunction.parameters} are always 1 and the first\n * parameter's type is always {@link ILlmSchemaV3.IObject}. The\n * properties' rule is:\n *\n * - `pathParameters`: Path parameters of {@link IHttpMigrateRoute.parameters}\n * - `query`: Query parameter of {@link IHttpMigrateRoute.query}\n * - `body`: Body parameter of {@link IHttpMigrateRoute.body}\n *\n * ```typescript\n * {\n * ...pathParameters,\n * query,\n * body,\n * }\n * ```\n *\n * Otherwise, the parameters would be multiple, and the sequence of the\n * parameters are following below rules:\n *\n * ```typescript\n * [\n * ...pathParameters,\n * ...(query ? [query] : []),\n * ...(body ? [body] : []),\n * ]\n * ```\n */\n parameters: ILlmSchema.ModelParameters[Model];\n /**\n * Collection of separated parameters.\n *\n * Filled only when {@link IHttpLlmApplication.IOptions.separate} is configured.\n */\n separated?: IHttpLlmFunction.ISeparated<Model>;\n /**\n * Expected return type.\n *\n * If the target operation returns nothing (`void`), the `output`\n * would be `undefined`.\n */\n output?: ILlmSchema.ModelSchema[Model] | undefined;\n /**\n * Description of the function.\n *\n * `IHttpLlmFunction.description` is composed by below rule:\n *\n * 1. Starts from the {@link OpenApi.IOperation.summary} paragraph.\n * 2. The next paragraphs are filled with the\n * {@link OpenApi.IOperation.description}. By the way, if the first\n * paragraph of {@link OpenApi.IOperation.description} is same with the\n * {@link OpenApi.IOperation.summary}, it would not be duplicated.\n * 3. Parameters' descriptions are added with `@param` tag.\n * 4. {@link OpenApi.IOperation.security Security requirements} are added\n * with `@security` tag.\n * 5. Tag names are added with `@tag` tag.\n * 6. If {@link OpenApi.IOperation.deprecated}, `@deprecated` tag is added.\n *\n * For reference, the `description` is very important property to teach\n * the purpose of the function to the LLM (Language Large Model), and\n * LLM actually determines which function to call by the description.\n *\n * Also, when the LLM conversates with the user, the `description` is\n * used to explain the function to the user. Therefore, the `description`\n * property has the highest priority, and you have to consider it.\n */\n description?: string | undefined;\n /**\n * Whether the function is deprecated or not.\n *\n * If the `deprecated` is `true`, the function is not recommended to use.\n *\n * LLM (Large Language Model) may not use the deprecated function.\n */\n deprecated?: boolean | undefined;\n /**\n * Category tags for the function.\n *\n * Same with {@link OpenApi.IOperation.tags} indicating the category of the function.\n */\n tags?: string[];\n /**\n * Validate function of the arguments.\n *\n * You know what? LLM (Large Language Model) like OpenAI takes a lot of\n * mistakes when composing arguments in function calling. Even though\n * `number` like simple type is defined in the {@link parameters} schema,\n * LLM often fills it just by a `string` typed value.\n *\n * In that case, you have to give a validation feedback to the LLM by\n * using this `validate` function. The `validate` function will return\n * detailed information about every type errors about the arguments.\n *\n * And in my experience, OpenAI's `gpt-4o-mini` model tends to construct\n * an invalid function calling arguments at the first trial about 50% of\n * the time. However, if correct it through this `validate` function,\n * the success rate soars to 99% at the second trial, and I've never\n * failed at the third trial.\n *\n * > If you've {@link separated} parameters, use the\n * > {@link IHttpLlmFunction.ISeparated.validate} function instead when\n * > validating the LLM composed arguments.\n * >\n * > In that case, This `validate` function would be meaningful only\n * > when you've merged the LLM and human composed arguments by\n * > {@link HttpLlm.mergeParameters} function.\n *\n * @param args Arguments to validate.\n * @returns Validation result\n */\n validate: (args: unknown) => IValidation<unknown>;\n /**\n * Get the Swagger operation metadata.\n *\n * Get the Swagger operation metadata, of the source.\n *\n * @returns Swagger operation metadata.\n */\n operation: () => OpenApi.IOperation;\n /**\n * Get the migration route metadata.\n *\n * Get the migration route metadata, of the source.\n *\n * @returns Migration route metadata.\n */\n route: () => IHttpMigrateRoute;\n}\nexport declare namespace IHttpLlmFunction {\n /**\n * Collection of separated parameters.\n */\n interface ISeparated<Model extends ILlmSchema.Model> {\n /**\n * Parameters that would be composed by the LLM.\n *\n * Even though no property exists in the LLM side, the `llm` property\n * would have at least empty object type.\n */\n llm: ILlmSchema.ModelParameters[Model];\n /**\n * Parameters that would be composed by the human.\n */\n human: ILlmSchema.ModelParameters[Model] | null;\n /**\n * Validate function of the separated arguments.\n *\n * If LLM part of separated parameters has some properties,\n * this `validate` function will be filled for the {@link llm}\n * type validation.\n *\n * > You know what? LLM (Large Language Model) like OpenAI takes a lot of\n * > mistakes when composing arguments in function calling. Even though\n * > `number` like simple type is defined in the {@link parameters} schema,\n * > LLM often fills it just by a `string` typed value.\n * >\n * > In that case, you have to give a validation feedback to the LLM by\n * > using this `validate` function. The `validate` function will return\n * > detailed information about every type errors about the arguments.\n * >\n * > And in my experience, OpenAI's `gpt-4o-mini` model tends to construct\n * > an invalid function calling arguments at the first trial about 50% of\n * > the time. However, if correct it through this `validate` function,\n * > the success rate soars to 99% at the second trial, and I've never\n * > failed at the third trial.\n *\n * @param args Arguments to validate\n * @returns Validate result\n */\n validate?: ((args: unknown) => IValidation<unknown>) | undefined;\n }\n}\n",
12510
- "node_modules/@samchon/openapi/lib/structures/IHttpMigrateApplication.d.ts": "import { OpenApi } from \"../OpenApi\";\nimport { IHttpMigrateRoute } from \"./IHttpMigrateRoute\";\n/**\n * Document of migration.\n *\n * The `IHttpMigrateApplication` interface is an application migrated from\n * {@link OpenAPI.IDocument OpenAPI document} for supporting the OpenAPI generator\n * libraries which compose RPC (Remote Procedure Call) functions from the\n * {@link OpenAPI.IOperation OpenAPI operations}.\n *\n * As the `IHttpMigrateApplication` and {@link IHttpMigrateRoute} have a lot of special\n * stories, when you're developing OpenAPI generator library, please read\n * their descriptions carefully including the description of properties.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IHttpMigrateApplication {\n /**\n * List of routes for migration.\n */\n routes: IHttpMigrateRoute[];\n /**\n * List of errors occurred during the migration.\n */\n errors: IHttpMigrateApplication.IError[];\n /**\n * Source OpenAPI document.\n */\n document: () => OpenApi.IDocument;\n}\nexport declare namespace IHttpMigrateApplication {\n /**\n * Error of migration in the operation level.\n */\n interface IError {\n /**\n * Target operation causing the error.\n */\n operation: () => OpenApi.IOperation;\n /**\n * Method of the operation.\n *\n * If the {@link OpenApi.IOperation.method} is not one of below type\n * values, the operation would be ignored in the migration process for\n * the RPC (Remote Procedure Call) function.\n */\n method: \"head\" | \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\n /**\n * Original path from the OpenAPI document.\n */\n path: string;\n /**\n * List of error messages (reasons).\n */\n messages: string[];\n }\n}\n",
12511
- "node_modules/@samchon/openapi/lib/structures/IHttpMigrateRoute.d.ts": "import { OpenApi } from \"../OpenApi\";\n/**\n * Route information for migration.\n *\n * The `IHttpMigrateRoute` is a structure representing a route information for\n * OpenAPI generator libraries, which composes an RPC (Remote Procedure Call) function\n * from the {@link OpenApi.IOperation OpenAPI operation}.\n *\n * As the `IHttpMigrateRoute` has a lot of special stories, when you're developing\n * OpenAPI generator library, please read its description carefully including\n * the description of its properties.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IHttpMigrateRoute {\n /**\n * Method of the route.\n *\n * If the {@link OpenApi.IOperation.method} is not one of below type\n * values, the operation would be ignored in the migration process for\n * the RPC (Remote Procedure Call) function.\n */\n method: \"head\" | \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\n /**\n * Original path from the OpenAPI document.\n */\n path: string;\n /**\n * Emended path for OpenAPI generator libraries.\n *\n * The difference between {@link path} is:\n *\n * 1. Path parameters are replaced with `:param` format.\n * 2. Always starts with `/`.\n */\n emendedPath: string;\n /**\n * Accessor for the route.\n *\n * The `accessor` is a list of string values that are representing how to\n * access to the OpenAPI generated RPC (Remote Procedure Call) function\n * through namespace(s).\n *\n * The `accessor` is composed with the following rules. At first, namespaces\n * are composed by static directory names in the {@link path}. Parametric\n * symbols represented by `:param` or `{param}` cannot be a part of the\n * namespace.\n *\n * Instead, they would be a part of the function name. The function\n * name is composed with the {@link method HTTP method} and parametric symbols\n * like `getByParam` or `postByParam`. If there are multiple path parameters,\n * they would be concatenated by `And` like `getByParam1AndParam2`.\n *\n * For refefence, if the {@link operation}'s {@link method} is `delete`, the\n * function name would be replaced to `erase` instead of `delete`. It is\n * the reason why the `delete` is a reserved keyword in many programming\n * languages.\n *\n * - Example 1\n * - path: `POST /shopping/sellers/sales`\n * - accessor: `shopping.sellers.sales.post`\n * - Example 2\n * - endpoint: `GET /shoppings/sellers/sales/:saleId/reviews/:reviewId/comments/:id\n * - accessor: `shoppings.sellers.sales.reviews.getBySaleIdAndReviewIdAndCommentId`\n */\n accessor: string[];\n /**\n * List of path parameters.\n *\n * Note that, not a list of every parameters, but only path parameters.\n */\n parameters: IHttpMigrateRoute.IParameter[];\n /**\n * Metadata of headers.\n *\n * The `headers` property is a metadata of HTTP request headers for RPC function,\n * including the parameter variable name and schema.\n *\n * Also, its {@link IHttpMigrateRoute.IHeaders.schema} is always object or reference\n * to object. Even though the original {@link OpenApi.IOperation OpenAPI operation}'s\n * headers are separated to atomic typed properties, the `headers` property forcibly\n * combines them into a single object type.\n *\n * For reference, if the `headers` property has been converted to an object type\n * forcibly, its property {@link IHttpMigrateRoute.IHeaders.name name} and\n * {@link IHttpMigrateRoute.IHeaders.key key} are always \"headers\".\n */\n headers: IHttpMigrateRoute.IHeaders | null;\n /**\n * Metadata of query values.\n *\n * The `query` property is a metadata of HTTP request query values for RPC function,\n * including the parameter variable name and schema.\n *\n * Also, its {@link IHttpMigrateRoute.IQuery.schema} is always object or reference\n * to object. Even though the original {@link OpenApi.IOperation OpenAPI operation}'s\n * query parameters are separated to atomic typed properties, the `query` property\n * forcibly combines them into a single object type.\n *\n * For reference, if the `query` property has been converted to an object type\n * forcibly, its property {@link IHttpMigrateRoute.IQuery.name name} and\n * {@link IHttpMigrateRoute.IQuery.key key} are always \"headers\".\n */\n query: IHttpMigrateRoute.IQuery | null;\n /**\n * Metadata of request body.\n *\n * The `body` property is a metadata of HTTP request body for RPC function,\n * including the parameter variable name, content type, and schema.\n *\n * If the `body` property is `null`, it means the operation does not require\n * the request body data.\n */\n body: IHttpMigrateRoute.IBody | null;\n /**\n * Metadata of response body for success case.\n *\n * The `success` property is a metadata of HTTP response body for RPC function,\n * including content type, and schema when status code is `200` or `201`.\n *\n * If the `success` property is `null`, it means the operation does not have\n * the response body data. In other words, the RPC function would return `void`.\n */\n success: IHttpMigrateRoute.ISuccess | null;\n /**\n * Metadata of response body for exceptional status cases.\n *\n * The `exceptions` property is a metadata of HTTP response body for RPC\n * function, including content type, and schema when status code is not `200`\n * or `201`.\n *\n * The key of the `exceptions` property is the status code. It may be a\n * stringified number, but sometimes it could be a string like \"default\",\n * because the OpenAPI document allows the status code to be a string.\n */\n exceptions: Record<string, IHttpMigrateRoute.IException>;\n /**\n * Description comment for the route function.\n *\n * The `comment` is a function returning description comment for the\n * RPC function of OpenAPI generated. The comment is composed with the\n * following rules:\n *\n * 1. Starts from the {@link OpenApi.IOperation.summary} paragraph.\n * 2. The next paragraphs are filled with {@link OpenApi.IOperation.description}.\n * 3. Parameter descriptions are added with `@param` tag.\n * 4. Security requirements are added with `@security` tag.\n * 5. Tag names are added with `@tag` tag.\n * 6. If {@link OpenApi.IOperation.deprecated}, `@deprecated` tag is added.\n */\n comment: () => string;\n /**\n * Original operation from the OpenAPI document.\n *\n * The `operation` is a function returning the original\n * {@link OpenApi.IOperation} from the {@link OpenAPI} document.\n */\n operation: () => OpenApi.IOperation;\n}\nexport declare namespace IHttpMigrateRoute {\n /**\n * Metadata of path parameter.\n */\n interface IParameter {\n /**\n * Name of the path parameter.\n */\n name: string;\n /**\n * Key of the path parameter.\n */\n key: string;\n /**\n * Metadata of path parameter data type.\n */\n schema: OpenApi.IJsonSchema;\n /**\n * Original parameter info from the OpenAPI document.\n *\n * The `parameter` is a function returning the original\n * {@link OpenApi.IOperation.IParameter} from the {@link OpenAPI} document.\n */\n parameter: () => OpenApi.IOperation.IParameter;\n }\n /**\n * Metadata of headers.\n */\n interface IHeaders {\n /**\n * Name of the headers parameter.\n */\n name: string;\n /**\n * Key of the headers parameter.\n */\n key: string;\n /**\n * Metadata of headers data type.\n */\n schema: OpenApi.IJsonSchema;\n title: () => string | undefined;\n description: () => string | undefined;\n example: () => any | undefined;\n examples: () => Record<string, any> | undefined;\n }\n /**\n * Metadata of query values.\n */\n interface IQuery {\n name: string;\n key: string;\n schema: OpenApi.IJsonSchema;\n title: () => string | undefined;\n description: () => string | undefined;\n example: () => any | undefined;\n examples: () => Record<string, any> | undefined;\n }\n /**\n * Metadata of request body.\n */\n interface IBody {\n /**\n * Name of the body parameter.\n */\n name: string;\n /**\n * Key of the body parameter.\n */\n key: string;\n /**\n * Content type of the body.\n */\n type: \"text/plain\" | \"application/json\" | \"application/x-www-form-urlencoded\" | \"multipart/form-data\";\n /**\n * Metadata of response body data type.\n */\n schema: OpenApi.IJsonSchema;\n /**\n * Description comment for the request/response body.\n */\n description: () => string | undefined;\n /**\n * Media type of the request/response body.\n */\n media: () => OpenApi.IOperation.IMediaType;\n /**\n * Whether the body is encrypted or not.\n */\n \"x-nestia-encrypted\"?: boolean;\n }\n /**\n * Metadata of response body.\n */\n interface ISuccess extends IBody {\n /**\n * Status code of the response.\n */\n status: string;\n }\n /**\n * Metadata of response body for exceptional status cases.\n */\n interface IException {\n /**\n * Metadata of response body data type.\n */\n schema: OpenApi.IJsonSchema;\n /**\n * Description comment for the exception.\n */\n response: () => OpenApi.IOperation.IResponse;\n /**\n * Media type of the response body.\n */\n media: () => OpenApi.IOperation.IMediaType;\n }\n}\n",
12512
- "node_modules/@samchon/openapi/lib/structures/IHttpResponse.d.ts": "/**\n * Represents an HTTP response.\n *\n * The `IHttpResponse` interface represents an HTTP response.\n *\n * It contains the {@link status} code, {@link headers}, and {@link body} of the response.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IHttpResponse {\n /**\n * Status code of the response.\n */\n status: number;\n /**\n * Headers of the response.\n */\n headers: Record<string, string | string[]>;\n /**\n * Body of the response.\n */\n body: unknown;\n}\n",
12513
- "node_modules/@samchon/openapi/lib/structures/IJsonSchemaAttribute.d.ts": "/**\n * Common attributes for JSON schema types.\n *\n * `IJsonSchemaAttribute` is a common interface for all JSON schema\n * types supported in here `@samchon/openapi`. Here is the list of\n * affected JSON schema types in `@samchon/openapi`, and you can extend\n * the interface by declaring module augmentation.\n *\n * - {@link OpenApi.IJsonSchema}\n * - {@link OpenApiV3_1.IJsonSchema}\n * - {@link OpenApiV3.IJsonSchema}\n * - {@link SwaggerV2.IJsonSchema}\n * - {@link IChatGptSchema}\n * - {@link IClaudeSchema}\n * - {@link IGeminiSchema}\n * - {@link ILlmSchemaV3}\n * - {@link ILlmSchemaV3_1}\n *\n * For example, if you extend the `IJsonSchemaAttribute` interface\n * like below, every JSON schema types in `@samchon/openapi` will have\n * a new custom attribute `x-wrtn-placeholder`.\n *\n * Also, if you augment the nested type like\n * `IJsonSchemaAttribute.IString`, you can add the custom attribute\n * to every string types in the JSON schema. In the below example case,\n * every string types will have a new custom attribute\n * `x-wrtn-secret-key`.\n *\n * ```typescript\n * declare module \"@samchon/openapi\" {\n * export interface IJsonSchemaAttribute {\n * /// Placeholder value for frontend application\n * ///\n * /// Placeholder ia label shown in the input field as a hint.\n * /// For example, when an email input field exists, the label\n * /// value would be \"Insert your email address here\".\n * \"x-wrtn-placeholder\"?: string;\n * }\n * export namespace IJsonSchemaAttribute {\n * export interface IString {\n * /// Secret key for the schema.\n * ///\n * /// `x-wrtn-secret-key` is a property means a secret key\n * /// that is required for the target API endpoint calling.\n * /// If the secret key is not filled, the API call would\n * /// be failed.\n * \"x-wrtn-secret-key\"?: string;\n * }\n * }\n * }\n * ```\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IJsonSchemaAttribute {\n /**\n * Title of the schema.\n */\n title?: string;\n /**\n * Detailed description of the schema.\n */\n description?: string;\n /**\n * Whether the type is deprecated or not.\n */\n deprecated?: boolean;\n /**\n * Example value.\n */\n example?: any;\n /**\n * List of example values as key-value pairs.\n */\n examples?: Record<string, any>;\n}\nexport declare namespace IJsonSchemaAttribute {\n /**\n * Common attributes for boolean types.\n */\n export interface IBoolean extends ISignificant<\"boolean\"> {\n }\n /**\n * Common attributes for integer types.\n */\n export interface IInteger extends ISignificant<\"integer\"> {\n }\n /**\n * Common attributes for number types.\n */\n export interface INumber extends ISignificant<\"number\"> {\n }\n /**\n * Common attributes for string types.\n */\n export interface IString extends ISignificant<\"string\"> {\n }\n /**\n * Common attributes for object types.\n */\n export interface IObject extends ISignificant<\"object\"> {\n }\n /**\n * Common attributes for array types.\n */\n export interface IArray extends ISignificant<\"array\"> {\n }\n /**\n * Common attributes for null types.\n */\n export interface INull extends ISignificant<\"null\"> {\n }\n /**\n * Common attributes for unknown types.\n */\n export interface IUnknown extends IJsonSchemaAttribute {\n /**\n * Type is never be defined.\n */\n type?: undefined;\n }\n /**\n * Significant attributes that can be applied to the most types.\n */\n interface ISignificant<Type extends string> extends IJsonSchemaAttribute {\n /**\n * Discriminator value of the type.\n */\n type: Type;\n }\n export {};\n}\n",
12514
- "node_modules/@samchon/openapi/lib/structures/ILlamaSchema.d.ts": "import { ILlmSchemaV3_1 } from \"./ILlmSchemaV3_1\";\n/**\n * Type schema info of the Llama.\n *\n * `ILlamaSchema` is a type schema info of the Llama function calling.\n *\n * `ILlamaSchema` seems fully supporting the JSON schema definition of the OpenAPI v3.1\n * specification; {@link OpenApiV3_1.IJsonSchema}. By the way, as the\n * {@link OpenApiV3_1.IJsonSchema} has too much ambiguous and duplicated expressions,\n * `ILlamaSchema` is designed to be clear and simple for the Llama function calling,\n * by utilizng {@link ILlmSchemaV3_1} which has been transformed from the\n * {@link OpenApi.IJsonSchema} for the convenience and clarity.\n *\n * Therefore, `ILlamaSchema` does not follow the entire specification of\n * the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n * list of how `ILlmSchemaV3_1` is different with the OpenAPI v3.1 JSON schema.\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n * - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to {@link ILlamaSchema.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link ILlamaSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link ILlamaSchema.IReference}\n * - Do not support {@link OpenApiV3_1.IJsonSchema.ITuple} type\n *\n * If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n *\n * - {@link ILlamaSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.schemas}\n * - Do not support {@link OpenApi.IJsonSchema.ITuple} type\n * - {@link ILlamaSchema.properties} and {@link ILlamaSchema.required} are always defined\n *\n * For reference, if you've composed the `ILlamaSchema` type with the\n * {@link ILlamaSchema.IConfig.reference} `false` option (default is `false`), only the\n * recursive named types would be archived into the {@link ILlamaSchema.IParameters.$defs},\n * and the others would be escaped from the {@link ILlamaSchema.IReference} type.\n *\n * @reference https://www.llama.com/docs/model-cards-and-prompt-formats/llama3_2\n * @reference https://github.com/ggerganov/llama.cpp/blob/master/examples/json_schema_to_grammar.py\n * @warning Specified not only by the official documentation, but also by my\n * experiments. Therefore, its definitions can be inaccurate or be\n * changed in the future. If you find any wrong or outdated definitions,\n * please let me know by issue.\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport type ILlamaSchema = ILlamaSchema.IConstant | ILlamaSchema.IBoolean | ILlamaSchema.IInteger | ILlamaSchema.INumber | ILlamaSchema.IString | ILlamaSchema.IArray | ILlamaSchema.IObject | ILlamaSchema.IReference | ILlamaSchema.IOneOf | ILlamaSchema.INull | ILlamaSchema.IUnknown;\nexport declare namespace ILlamaSchema {\n /**\n * Configuration for Llama schema composition.\n */\n interface IConfig {\n /**\n * Whether to allow reference type in everywhere.\n *\n * If you configure this property to `false`, most of reference types\n * represented by {@link ILlamaSchema.IReference} would be escaped to\n * a plain type unless recursive type case.\n *\n * This is because some low sized LLM models does not understand the\n * reference type well, and even the large size LLM models sometimes occur\n * the hallucination.\n *\n * However, the reference type makes the schema size smaller, so that reduces\n * the LLM token cost. Therefore, if you're using the large size of LLM model,\n * and want to reduce the LLM token cost, you can configure this property to\n * `true`.\n *\n * @default false\n */\n reference: boolean;\n }\n /**\n * Type of the function parameters.\n *\n * `ILlamaSchema.IParameters` is a type defining a function's parameters\n * as a keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n type IParameters = ILlmSchemaV3_1.IParameters;\n /**\n * Constant value type.\n */\n type IConstant = ILlmSchemaV3_1.IConstant;\n /**\n * Boolean type info.\n */\n type IBoolean = ILlmSchemaV3_1.IBoolean;\n /**\n * Integer type info.\n */\n type IInteger = ILlmSchemaV3_1.IInteger;\n /**\n * Number (double) type info.\n */\n type INumber = ILlmSchemaV3_1.INumber;\n /**\n * String type info.\n */\n type IString = ILlmSchemaV3_1.IString;\n /**\n * Array type info.\n */\n type IArray = ILlmSchemaV3_1.IArray;\n /**\n * Object type info.\n */\n type IObject = ILlmSchemaV3_1.IObject;\n /**\n * Reference type directing named schema.\n */\n type IReference = ILlmSchemaV3_1.IReference;\n /**\n * Union type.\n *\n * `IOneOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has\n * defined `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly\n * converts it to `oneOf` type.\n */\n type IOneOf = ILlmSchemaV3_1.IOneOf;\n namespace IOneOf {\n /**\n * Discriminator info of the union type.\n */\n type IDiscriminator = ILlmSchemaV3_1.IOneOf.IDiscriminator;\n }\n /**\n * Null type.\n */\n type INull = ILlmSchemaV3_1.INull;\n /**\n * Unknown, the `any` type.\n */\n type IUnknown = ILlmSchemaV3_1.IUnknown;\n}\n",
12515
- "node_modules/@samchon/openapi/lib/structures/ILlmApplication.d.ts": "import { ILlmFunction } from \"./ILlmFunction\";\nimport { ILlmSchema } from \"./ILlmSchema\";\n/**\n * Application of LLM function calling.\n *\n * `ILlmApplication` is a data structure representing a collection of\n * {@link ILlmFunction LLM function calling schemas}, composed from a native\n * TypeScript class (or interface) type by the `typia.llm.application<App, Model>()`\n * function.\n *\n * Also, there can be some parameters (or their nested properties) which must be\n * composed by Human, not by LLM. File uploading feature or some sensitive information\n * like secret key (password) are the examples. In that case, you can separate the\n * function parameters to both LLM and human sides by configuring the\n * {@link ILlmApplication.IOptions.separate} property. The separated parameters are\n * assigned to the {@link ILlmFunction.separated} property.\n *\n * For reference, when both LLM and Human filled parameter values to call, you can\n * merge them by calling the {@link HttpLlm.mergeParameters} function. In other words,\n * if you've configured the {@link ILlmApplication.IOptions.separate} property, you\n * have to merge the separated parameters before the function call execution.\n *\n * @reference https://platform.openai.com/docs/guides/function-calling\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface ILlmApplication<Model extends ILlmSchema.Model, Class extends object = any> {\n /**\n * Model of the LLM.\n */\n model: Model;\n /**\n * List of function metadata.\n *\n * List of function metadata that can be used for the LLM function call.\n */\n functions: ILlmFunction<Model>[];\n /**\n * Configuration for the application.\n */\n options: ILlmApplication.IOptions<Model>;\n /**\n * Class type, the source of the LLM application.\n *\n * This property is just for the generic type inference,\n * and its value is always `undefined`.\n */\n __class?: Class | undefined;\n}\nexport declare namespace ILlmApplication {\n /**\n * Options for application composition.\n */\n type IOptions<Model extends ILlmSchema.Model> = {\n /**\n * Separator function for the parameters.\n *\n * When composing parameter arguments through LLM function call,\n * there can be a case that some parameters must be composed by human,\n * or LLM cannot understand the parameter.\n *\n * For example, if the parameter type has configured\n * {@link IGeminiSchema.IString.contentMediaType} which indicates file\n * uploading, it must be composed by human, not by LLM\n * (Large Language Model).\n *\n * In that case, if you configure this property with a function that\n * predicating whether the schema value must be composed by human or\n * not, the parameters would be separated into two parts.\n *\n * - {@link ILlmFunction.separated.llm}\n * - {@link ILlmFunction.separated.human}\n *\n * When writing the function, note that returning value `true` means\n * to be a human composing the value, and `false` means to LLM\n * composing the value. Also, when predicating the schema, it would\n * better to utilize the {@link GeminiTypeChecker} like features.\n *\n * @param schema Schema to be separated.\n * @returns Whether the schema value must be composed by human or not.\n * @default null\n */\n separate: null | ((schema: ILlmSchema.ModelSchema[Model]) => boolean);\n } & ILlmSchema.ModelConfig[Model];\n}\n",
12516
- "node_modules/@samchon/openapi/lib/structures/ILlmController.d.ts": "import { ILlmApplication } from \"./ILlmApplication\";\nimport { ILlmSchema } from \"./ILlmSchema\";\n/**\n * Controller of LLM function calling.\n *\n * `ILlmController` is a controller of LLM function calling,\n * containing not only the {@link ILlmApplication application} of\n * {@link ILlmFunction function calling schemas}, but also\n * {@link name identifier name} of the application and\n * {@link execute executor} of its TypeScript class/interface functions.\n *\n * Here is an example of using `ILlmController` type for AI agent\n * development of performing AI function calling to mobile API\n * classes/interfaces through `typia` and `@agentica`.\n *\n * ```typescript\n * import { Agentica } from \"@agentica/core\";\n * import typia from \"typia\";\n *\n * const agentica = new Agentica({\n * model: \"chatgpt\",\n * vendor: {\n * api: new OpenAI({ apiKey: \"********\" }),\n * model: \"gpt-4o-mini\",\n * },\n * controllers: [\n * typia.llm.controller<ReactNativeFileSystem, \"chatgpt\">(\n * \"filesystem\",\n * new ReactNativeFileSystem(),\n * ),\n * typia.llm.controller<ReactNativeGallery, \"chatgpt\">(\n * \"gallery\",\n * new ReactNativeGallery(),\n * ),\n * ],\n * });\n * await agentica.conversate(\n * \"Organize photo collection and sort them into appropriate folders.\",\n * );\n * ```\n *\n * For reference, this `ILlmController` type is designed for\n * TypeScript classes/interfaces. If you want to make a controller of\n * another {@link protocol} like HTTP or MCP, use below types instead:\n *\n * - {@link IHttpLlmController} for HTTP\n * - {@link IMcpLlmController} for MCP\n *\n * @template Model Type of the LLM model\n * @template Class Class type of the function executor\n * @reference https://typia.io/docs/llm/controller/\n * @reference https://wrtnlabs.io/agentica/docs/core/controller/typescript/\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface ILlmController<Model extends ILlmSchema.Model, Class extends object = any> {\n /**\n * Protocol discriminator.\n */\n protocol: \"class\";\n /**\n * Identifier name of the controller.\n */\n name: string;\n /**\n * Application schema of function calling.\n */\n application: ILlmApplication<Model, Class>;\n /**\n * Executor of the class function.\n *\n * Executor of the class function, by target class instance.\n */\n execute: Class;\n}\n",
12517
- "node_modules/@samchon/openapi/lib/structures/ILlmFunction.d.ts": "import { ILlmSchema } from \"./ILlmSchema\";\nimport { IValidation } from \"./IValidation\";\n/**\n * LLM function metadata.\n *\n * `ILlmFunction` is an interface representing a function metadata,\n * which has been used for the LLM (Language Large Model) function\n * calling. Also, it's a function structure containing the function\n * {@link name}, {@link parameters} and {@link output return type}.\n *\n * If you provide this `ILlmFunction` data to the LLM provider like \"OpenAI\",\n * the \"OpenAI\" will compose a function arguments by analyzing conversations\n * with the user. With the LLM composed arguments, you can execute the function\n * and get the result.\n *\n * By the way, do not ensure that LLM will always provide the correct\n * arguments. The LLM of present age is not perfect, so that you would\n * better to validate the arguments before executing the function.\n * I recommend you to validate the arguments before execution by using\n * [`typia`](https://github.com/samchon/typia) library.\n *\n * @template Model Type of the LLM model\n * @reference https://platform.openai.com/docs/guides/function-calling\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface ILlmFunction<Model extends ILlmSchema.Model> {\n /**\n * Representative name of the function.\n *\n * @maxLength 64\n */\n name: string;\n /**\n * List of parameter types.\n */\n parameters: ILlmSchema.ModelParameters[Model];\n /**\n * Collection of separated parameters.\n *\n * Filled only when {@link ILlmApplication.IOptions.separate} is configured.\n */\n separated?: ILlmFunction.ISeparated<Model>;\n /**\n * Expected return type.\n *\n * If the function returns nothing (`void`), the `output` value would\n * be `undefined`.\n */\n output?: ILlmSchema.ModelSchema[Model];\n /**\n * Description of the function.\n *\n * For reference, the `description` is very important property to teach\n * the purpose of the function to the LLM (Language Large Model), and\n * LLM actually determines which function to call by the description.\n *\n * Also, when the LLM conversates with the user, the `description` is\n * used to explain the function to the user. Therefore, the `description`\n * property has the highest priority, and you have to consider it.\n */\n description?: string | undefined;\n /**\n * Whether the function is deprecated or not.\n *\n * If the `deprecated` is `true`, the function is not recommended to use.\n *\n * LLM (Large Language Model) may not use the deprecated function.\n */\n deprecated?: boolean | undefined;\n /**\n * Category tags for the function.\n *\n * You can fill this property by the `@tag ${name}` comment tag.\n */\n tags?: string[] | undefined;\n /**\n * Validate function of the arguments.\n *\n * You know what? LLM (Large Language Model) like OpenAI takes a lot of\n * mistakes when composing arguments in function calling. Even though\n * `number` like simple type is defined in the {@link parameters} schema,\n * LLM often fills it just by a `string` typed value.\n *\n * In that case, you have to give a validation feedback to the LLM by\n * using this `validate` function. The `validate` function will return\n * detailed information about every type errors about the arguments.\n *\n * And in my experience, OpenAI's `gpt-4o-mini` model tends to construct\n * an invalid function calling arguments at the first trial about 50% of\n * the time. However, if correct it through this `validate` function,\n * the success rate soars to 99% at the second trial, and I've never\n * failed at the third trial.\n *\n * > If you've {@link separated} parameters, use the\n * > {@link ILlmFunction.ISeparated.validate} function instead when\n * > validating the LLM composed arguments.\n * >\n * > In that case, This `validate` function would be meaningful only\n * > when you've merged the LLM and human composed arguments by\n * > {@link HttpLlm.mergeParameters} function.\n *\n * @param args Arguments to validate\n * @returns Validation result\n */\n validate: (args: unknown) => IValidation<unknown>;\n}\nexport declare namespace ILlmFunction {\n /**\n * Collection of separated parameters.\n */\n interface ISeparated<Model extends ILlmSchema.Model> {\n /**\n * Parameters that would be composed by the LLM.\n *\n * Even though no property exists in the LLM side, the `llm` property\n * would have at least empty object type.\n */\n llm: ILlmSchema.ModelParameters[Model];\n /**\n * Parameters that would be composed by the human.\n */\n human: ILlmSchema.ModelParameters[Model] | null;\n /**\n * Validate function of the separated arguments.\n *\n * If LLM part of separated parameters has some properties,\n * this `validate` function will be filled for the {@link llm}\n * type validation.\n *\n * > You know what? LLM (Large Language Model) like OpenAI takes a lot of\n * > mistakes when composing arguments in function calling. Even though\n * > `number` like simple type is defined in the {@link parameters} schema,\n * > LLM often fills it just by a `string` typed value.\n * >\n * > In that case, you have to give a validation feedback to the LLM by\n * > using this `validate` function. The `validate` function will return\n * > detailed information about every type errors about the arguments.\n * >\n * > And in my experience, OpenAI's `gpt-4o-mini` model tends to construct\n * > an invalid function calling arguments at the first trial about 50% of\n * > the time. However, if correct it through this `validate` function,\n * > the success rate soars to 99% at the second trial, and I've never\n * > failed at the third trial.\n *\n * @param args Arguments to validate\n * @returns Validate result\n */\n validate?: ((args: unknown) => IValidation<unknown>) | undefined;\n }\n}\n",
12518
- "node_modules/@samchon/openapi/lib/structures/ILlmSchema.d.ts": "import { IChatGptSchema } from \"./IChatGptSchema\";\nimport { IClaudeSchema } from \"./IClaudeSchema\";\nimport { IDeepSeekSchema } from \"./IDeepSeekSchema\";\nimport { IGeminiSchema } from \"./IGeminiSchema\";\nimport { ILlamaSchema } from \"./ILlamaSchema\";\nimport { ILlmSchemaV3 } from \"./ILlmSchemaV3\";\nimport { ILlmSchemaV3_1 } from \"./ILlmSchemaV3_1\";\n/**\n * The schemas for the LLM function calling.\n *\n * `ILlmSchema` is an union type collecting every the schemas for the\n * LLM function calling.\n *\n * Select a proper schema type according to the LLM provider you're using.\n *\n * @template Model Type of the LLM model\n * @reference https://platform.openai.com/docs/guides/function-calling\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport type ILlmSchema<Model extends ILlmSchema.Model = ILlmSchema.Model> = ILlmSchema.ModelSchema[Model];\nexport declare namespace ILlmSchema {\n type Model = \"chatgpt\" | \"claude\" | \"deepseek\" | \"gemini\" | \"llama\" | \"3.0\" | \"3.1\";\n interface ModelConfig {\n chatgpt: IChatGptSchema.IConfig;\n claude: IClaudeSchema.IConfig;\n deepseek: IDeepSeekSchema.IConfig;\n gemini: IGeminiSchema.IConfig;\n llama: ILlamaSchema.IConfig;\n \"3.0\": ILlmSchemaV3.IConfig;\n \"3.1\": ILlmSchemaV3_1.IConfig;\n }\n interface ModelParameters {\n chatgpt: IChatGptSchema.IParameters;\n claude: IClaudeSchema.IParameters;\n deepseek: IDeepSeekSchema.IParameters;\n gemini: IGeminiSchema.IParameters;\n llama: ILlamaSchema.IParameters;\n \"3.0\": ILlmSchemaV3.IParameters;\n \"3.1\": ILlmSchemaV3_1.IParameters;\n }\n interface ModelSchema {\n chatgpt: IChatGptSchema;\n claude: IClaudeSchema;\n deepseek: IDeepSeekSchema;\n gemini: IGeminiSchema;\n llama: ILlamaSchema;\n \"3.0\": ILlmSchemaV3;\n \"3.1\": ILlmSchemaV3_1;\n }\n /**\n * Type of function parameters.\n *\n * `ILlmSchema.IParameters` is a type defining a function's pamameters\n * as a keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n type IParameters<Model extends ILlmSchema.Model = ILlmSchema.Model> = ILlmSchema.ModelParameters[Model];\n /**\n * Configuration for the LLM schema composition.\n */\n type IConfig<Model extends ILlmSchema.Model = ILlmSchema.Model> = ILlmSchema.ModelConfig[Model];\n}\n",
12519
- "node_modules/@samchon/openapi/lib/structures/ILlmSchemaV3.d.ts": "import { IJsonSchemaAttribute } from \"./IJsonSchemaAttribute\";\n/**\n * Type schema based on OpenAPI v3.0 for LLM function calling.\n *\n * `ILlmSchemaV3` is a type metadata for LLM (Large Language Model)\n * function calling, based on the OpenAPI v3.0 speicification. This type\n * is not the final type for the LLM function calling, but the intermediate\n * structure for the conversion to the final type like {@link IGeminiSchema}.\n *\n * `ILlmSchemaV3` basically follows the JSON schema definition of OpenAPI\n * v3.0 specification; {@link OpenApiV3.IJsonSchema}. However, `ILlmSchemaV3`\n * does not have the reference type; {@link OpenApiV3.IJsonSchema.IReference}.\n * It's because the LLM cannot compose the reference typed arguments. If\n * recursive type comes, its type would be repeated in\n * {@link ILlmSchemaV3.IConfig.recursive} times. Otherwise you've configured\n * it to `false`, the recursive types are not allowed.\n *\n * For reference, the OpenAPI v3.0 based JSON schema definition can't\n * express the tuple array type. It has been supported since OpenAPI v3.1;\n * {@link OpenApi.IJsonSchema.ITuple}. Therefore, it would better to avoid\n * using the tuple array type in the LLM function calling.\n *\n * Also, if you configure {@link ILlmSchemaV3.IConfig.constraint} to `false`,\n * these properties would be banned and written to the\n * {@link ILlmSchemaV3.__IAttribute.description} property instead. It's because\n * there are some LLM models which does not support the constraint properties.\n *\n * - {@link ILlmSchemaV3.INumber.minimum}\n * - {@link ILlmSchemaV3.INumber.maximum}\n * - {@link ILlmSchemaV3.INumber.multipleOf}\n * - {@link ILlmSchemaV3.IString.minLength}\n * - {@link ILlmSchemaV3.IString.maxLength}\n * - {@link ILlmSchemaV3.IString.format}\n * - {@link ILlmSchemaV3.IString.pattern}\n * - {@link ILlmSchemaV3.IString.contentMediaType}\n * - {@link ILlmSchemaV3.IArray.minItems}\n * - {@link ILlmSchemaV3.IArray.maxItems}\n * - {@link ILlmSchemaV3.IArray.unique}\n *\n * @reference https://platform.openai.com/docs/guides/function-calling\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport type ILlmSchemaV3 = ILlmSchemaV3.IBoolean | ILlmSchemaV3.IInteger | ILlmSchemaV3.INumber | ILlmSchemaV3.IString | ILlmSchemaV3.IArray | ILlmSchemaV3.IObject | ILlmSchemaV3.IUnknown | ILlmSchemaV3.INullOnly | ILlmSchemaV3.IOneOf;\nexport declare namespace ILlmSchemaV3 {\n /**\n * Configuration for OpenAPI v3.0 based LLM schema composition.\n */\n interface IConfig {\n /**\n * Whether to allow constraint properties or not.\n *\n * If you configure this property to `false`, the schemas do not contain\n * the constraint properties of below. Instead, below properties would be\n * written to the {@link ILlmSchemaV3.__IAttribute.description} property\n * as a comment string like `\"@format uuid\"`.\n *\n * This is because some LLM schema model like {@link IGeminiSchema}\n * has banned such constraint, because their LLM cannot understand the\n * constraint properties and occur the hallucination.\n *\n * Therefore, considering your LLM model's performance, capability,\n * and the complexity of your parameter types, determine which is better,\n * to allow the constraint properties or not.\n *\n * - {@link ILlmSchemaV3.INumber.minimum}\n * - {@link ILlmSchemaV3.INumber.maximum}\n * - {@link ILlmSchemaV3.INumber.multipleOf}\n * - {@link ILlmSchemaV3.IString.minLength}\n * - {@link ILlmSchemaV3.IString.maxLength}\n * - {@link ILlmSchemaV3.IString.format}\n * - {@link ILlmSchemaV3.IString.pattern}\n * - {@link ILlmSchemaV3.IString.contentMediaType}\n * - {@link ILlmSchemaV3.IString.default}\n * - {@link ILlmSchemaV3.IArray.minItems}\n * - {@link ILlmSchemaV3.IArray.maxItems}\n * - {@link ILlmSchemaV3.IArray.unique}\n *\n * @default true\n */\n constraint: boolean;\n /**\n * Whether to allow recursive types or not.\n *\n * If allow, then how many times to repeat the recursive types.\n *\n * By the way, if the model is \"chatgpt\", the recursive types are always\n * allowed without any limitation, due to it supports the reference type.\n *\n * @default 3\n */\n recursive: false | number;\n }\n /**\n * Type of the function parameters.\n *\n * `ILlmSchemaV3.IParameters` is a type defining a function's parameters\n * as a keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n interface IParameters extends Omit<IObject, \"additionalProperties\"> {\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * By the way, it is not allowed in the parameters level.\n */\n additionalProperties: false;\n }\n /**\n * Boolean type schema info.\n */\n interface IBoolean extends IJsonSchemaAttribute.IBoolean {\n /**\n * Whether to allow `null` value or not.\n */\n nullable?: boolean;\n /**\n * Default value.\n */\n default?: boolean | null;\n /**\n * Enumeration values.\n */\n enum?: Array<boolean | null>;\n }\n /**\n * Integer type schema info.\n */\n interface IInteger extends IJsonSchemaAttribute.IInteger {\n /**\n * Whether to allow `null` value or not.\n */\n nullable?: boolean;\n /**\n * Default value.\n *\n * @type int64\n */\n default?: number | null;\n /**\n * Enumeration values.\n *\n * @type int64\n */\n enum?: Array<number | null>;\n /**\n * Minimum value restriction.\n *\n * @type int64\n */\n minimum?: number;\n /**\n * Maximum value restriction.\n *\n * @type int64\n */\n maximum?: number;\n /**\n * Exclusive minimum value restriction.\n */\n exclusiveMinimum?: number;\n /**\n * Exclusive maximum value restriction.\n */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @type uint64\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /**\n * Number type schema info.\n */\n interface INumber extends IJsonSchemaAttribute.INumber {\n /**\n * Whether to allow `null` value or not.\n */\n nullable?: boolean;\n /**\n * Default value.\n */\n default?: number | null;\n /**\n * Enumeration values.\n */\n enum?: Array<number | null>;\n /**\n * Minimum value restriction.\n */\n minimum?: number;\n /**\n * Maximum value restriction.\n */\n maximum?: number;\n /**\n * Exclusive minimum value restriction.\n */\n exclusiveMinimum?: number;\n /**\n * Exclusive maximum value restriction.\n */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /**\n * String type schema info.\n */\n interface IString extends IJsonSchemaAttribute.IString {\n /**\n * Whether to allow `null` value or not.\n */\n nullable?: boolean;\n /**\n * Default value.\n */\n default?: string | null;\n /**\n * Enumeration values.\n */\n enum?: Array<string | null>;\n /**\n * Format restriction.\n */\n format?: \"binary\" | \"byte\" | \"password\" | \"regex\" | \"uuid\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"iri\" | \"iri-reference\" | \"ipv4\" | \"ipv6\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"date-time\" | \"date\" | \"time\" | \"duration\" | \"json-pointer\" | \"relative-json-pointer\" | (string & {});\n /**\n * Pattern restriction.\n */\n pattern?: string;\n /**\n * Minimum length restriction.\n *\n * @type uint64\n */\n minLength?: number;\n /**\n * Maximum length restriction.\n *\n * @type uint64\n */\n maxLength?: number;\n /**\n * Content media type restriction.\n */\n contentMediaType?: string;\n }\n /**\n * Array type schema info.\n */\n interface IArray extends IJsonSchemaAttribute.IArray {\n /**\n * Whether to allow `null` value or not.\n */\n nullable?: boolean;\n /**\n * Items type schema info.\n *\n * The `items` means the type of the array elements. In other words, it is\n * the type schema info of the `T` in the TypeScript array type `Array<T>`.\n */\n items: ILlmSchemaV3;\n /**\n * Unique items restriction.\n *\n * If this property value is `true`, target array must have unique items.\n */\n uniqueItems?: boolean;\n /**\n * Minimum items restriction.\n *\n * Restriction of minimum number of items in the array.\n *\n * @type uint64\n */\n minItems?: number;\n /**\n * Maximum items restriction.\n *\n * Restriction of maximum number of items in the array.\n *\n * @type uint64\n */\n maxItems?: number;\n }\n /**\n * Object type schema info.\n */\n interface IObject extends IJsonSchemaAttribute.IObject {\n /**\n * Whether to allow `null` value or not.\n */\n nullable?: boolean;\n /**\n * Properties of the object.\n *\n * The `properties` means a list of key-value pairs of the object's\n * regular properties. The key is the name of the regular property,\n * and the value is the type schema info.\n *\n * If you need additional properties that is represented by dynamic key,\n * you can use the {@link additionalProperties} instead.\n */\n properties: Record<string, ILlmSchemaV3>;\n /**\n * List of key values of the required properties.\n *\n * The `required` means a list of the key values of the required\n * {@link properties}. If some property key is not listed in the `required`\n * list, it means that property is optional. Otherwise some property key\n * exists in the `required` list, it means that the property must be filled.\n *\n * Below is an example of the {@link properties} and `required`.\n *\n * ```typescript\n * interface SomeObject {\n * id: string;\n * email: string;\n * name?: string;\n * }\n * ```\n *\n * As you can see, `id` and `email` {@link properties} are {@link required},\n * so that they are listed in the `required` list.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"id\": { \"type\": \"string\" },\n * \"email\": { \"type\": \"string\" },\n * \"name\": { \"type\": \"string\" }\n * },\n * \"required\": [\"id\", \"email\"]\n * }\n * ```\n */\n required: string[];\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * If the value is `true`, it means that the additional properties are not\n * restricted. They can be any type. Otherwise, if the value is\n * {@link ILlmSchemaV3} type, it means that the additional properties must\n * follow the type schema info.\n *\n * - `true`: `Record<string, any>`\n * - `IOpenAiSchema`: `Record<string, T>`\n */\n additionalProperties?: boolean | ILlmSchemaV3;\n }\n /**\n * One of type schema info.\n *\n * `IOneOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has\n * defined `anyOf` instead of the `oneOf`, it has been forcibly converted\n * to `oneOf` type by {@link OpenApi.convert OpenAPI conversion}.\n */\n interface IOneOf extends IJsonSchemaAttribute {\n /**\n * List of the union types.\n */\n oneOf: Exclude<ILlmSchemaV3, ILlmSchemaV3.IOneOf>[];\n }\n /**\n * Null only type schema info.\n */\n interface INullOnly extends IJsonSchemaAttribute.INull {\n /**\n * Default value.\n */\n default?: null;\n }\n /**\n * Unknown type schema info.\n *\n * It means the type of the value is `any`.\n */\n interface IUnknown extends IJsonSchemaAttribute.IUnknown {\n }\n /**\n * Significant attributes that can be applied to the most types.\n *\n * @deprecated\n * @hidden\n */\n interface __ISignificant<Type extends string> extends __IAttribute {\n /**\n * Discriminator value of the type.\n */\n type: Type;\n /**\n * Whether to allow `null` value or not.\n */\n nullable?: boolean;\n }\n /**\n * Common attributes that can be applied to all types.\n *\n * @deprecated\n * @hidden\n */\n type __IAttribute = IJsonSchemaAttribute;\n}\n",
12520
- "node_modules/@samchon/openapi/lib/structures/ILlmSchemaV3_1.d.ts": "import { IJsonSchemaAttribute } from \"./IJsonSchemaAttribute\";\n/**\n * Type schema based on OpenAPI v3.1 for LLM function calling.\n *\n * `ILlmSchemaV3_1` is a type metadata for LLM (Large Language Model)\n * function calling, based on the OpenAPI v3.1 speicification. This type\n * is not the final type for the LLM function calling, but the intermediate\n * structure for the conversion to the final type of below:\n *\n * - {@link IChatGptSchema}\n * - {@link IClaudeSchema}\n * - {@link ILlamaSchema}\n *\n * However, the `ILlmSchemaV3_1` does not follow the entire specification of\n * the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n * list of how `ILlmSchemaV3_1` is different with the OpenAPI v3.1 JSON schema.\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to {@link ILlmSchemaV3_1.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link ILlmSchemaV3_1.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link ILlmSchemaV3_1.IReference}\n * - Do not support {@link OpenApiV3_1.IJsonSchema.ITuple} type\n *\n * If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n *\n * - {@link ILlmSchemaV3_1.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.schemas}\n * - Do not support {@link OpenApi.IJsonSchema.ITuple} type\n * - {@link ILlmSchemaV3_1.properties} and {@link ILlmSchemaV3_1.required} are always defined\n *\n * For reference, if you've composed the `ILlmSchemaV3_1` type with the\n * {@link ILlmSchemaV3_1.IConfig.reference} `false` option (default is `false`), only the\n * recursived named types would be archived into the {@link ILlmSchemaV3_1.IParameters.$defs},\n * and the others would be ecaped from the {@link ILlmSchemaV3_1.IReference} type.\n *\n * Also, if you've composed the `ILlmSchemaV3_1` type with the\n * {@link ILlmSchemaV3_1.IConfig.constraint} `false` option (default `false`),\n * the `ILlmSchemaV3_1` would not compose these properties. Instead, these\n * properties would be written on {@link ILlmSchemaV3_1.__IAttribute.descripotion}\n * field like `@format uuid` case.\n *\n * - {@link ILlmSchemaV3_1.INumber.minimum}\n * - {@link ILlmSchemaV3_1.INumber.maximum}\n * - {@link ILlmSchemaV3_1.INumber.multipleOf}\n * - {@link ILlmSchemaV3_1.IString.minLength}\n * - {@link ILlmSchemaV3_1.IString.maxLength}\n * - {@link ILlmSchemaV3_1.IString.format}\n * - {@link ILlmSchemaV3_1.IString.pattern}\n * - {@link ILlmSchemaV3_1.IString.contentMediaType}\n * - {@link ILlmSchemaV3_1.IArray.minItems}\n * - {@link ILlmSchemaV3_1.IArray.maxItems}\n * - {@link ILlmSchemaV3_1.IArray.unique}\n *\n * @reference https://platform.openai.com/docs/guides/function-calling\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport type ILlmSchemaV3_1 = ILlmSchemaV3_1.IConstant | ILlmSchemaV3_1.IBoolean | ILlmSchemaV3_1.IInteger | ILlmSchemaV3_1.INumber | ILlmSchemaV3_1.IString | ILlmSchemaV3_1.IArray | ILlmSchemaV3_1.IObject | ILlmSchemaV3_1.IReference | ILlmSchemaV3_1.IOneOf | ILlmSchemaV3_1.INull | ILlmSchemaV3_1.IUnknown;\nexport declare namespace ILlmSchemaV3_1 {\n /**\n * Configuration for OpenAPI v3.1 based LLM schema composition.\n */\n interface IConfig {\n /**\n * Whether to allow constraint properties or not.\n *\n * If you configure this property to `false`, the schemas do not contain\n * the constraint properties of below. Instead, below properties would be\n * written to the {@link ILlmSchemaV3_1.__IAttribute.description} property\n * as a comment string like `\"@format uuid\"`.\n *\n * This is because some LLM schema model like {@link IChatGptSchema}\n * has banned such constraint, because their LLM cannot understand the\n * constraint properties and occur the hallucination.\n *\n * Therefore, considering your LLM model's performance, capability,\n * and the complexity of your parameter types, determine which is better,\n * to allow the constraint properties or not.\n *\n * - {@link ILlmSchemaV3_1.INumber.minimum}\n * - {@link ILlmSchemaV3_1.INumber.maximum}\n * - {@link ILlmSchemaV3_1.INumber.multipleOf}\n * - {@link ILlmSchemaV3_1.IString.minLength}\n * - {@link ILlmSchemaV3_1.IString.maxLength}\n * - {@link ILlmSchemaV3_1.IString.format}\n * - {@link ILlmSchemaV3_1.IString.pattern}\n * - {@link ILlmSchemaV3_1.IString.contentMediaType}\n * - {@link ILlmSchemaV3_1.IString.default}\n * - {@link ILlmSchemaV3_1.IArray.minItems}\n * - {@link ILlmSchemaV3_1.IArray.maxItems}\n * - {@link ILlmSchemaV3_1.IArray.unique}\n *\n * @default true\n */\n constraint: boolean;\n /**\n * Whether to allow reference type in everywhere.\n *\n * If you configure this property to `false`, most of reference types\n * represented by {@link ILlmSchemaV3_1.IReference} would be escaped to\n * a plain type unless recursive type case.\n *\n * This is because some low sized LLM models does not understand the\n * reference type well, and even the large size LLM models sometimes occur\n * the hallucination.\n *\n * However, the reference type makes the schema size smaller, so that reduces\n * the LLM token cost. Therefore, if you're using the large size of LLM model,\n * and want to reduce the LLM token cost, you can configure this property to\n * `true`.\n *\n * @default false\n */\n reference: boolean;\n }\n /**\n * Type of the function parameters.\n *\n * `ILlmSchemaV3_1.IParameters` is a type defining a function's parameters\n * as a keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n interface IParameters extends Omit<IObject, \"additionalProperties\"> {\n /**\n * Collection of the named types.\n */\n $defs: Record<string, ILlmSchemaV3_1>;\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * By the way, it is not allowed in the parameters level.\n */\n additionalProperties: false;\n }\n /**\n * Constant value type.\n */\n interface IConstant extends IJsonSchemaAttribute {\n /**\n * The constant value.\n */\n const: boolean | number | string;\n }\n /**\n * Boolean type info.\n */\n interface IBoolean extends IJsonSchemaAttribute.IBoolean {\n /**\n * The default value.\n */\n default?: boolean;\n }\n /**\n * Integer type info.\n */\n interface IInteger extends IJsonSchemaAttribute.IInteger {\n /**\n * Default value.\n *\n * @type int64\n */\n default?: number;\n /**\n * Minimum value restriction.\n *\n * @type int64\n */\n minimum?: number;\n /**\n * Maximum value restriction.\n *\n * @type int64\n */\n maximum?: number;\n /**\n * Exclusive minimum value restriction.\n */\n exclusiveMinimum?: number;\n /**\n * Exclusive maximum value restriction.\n */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @type uint64\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /**\n * Number (double) type info.\n */\n interface INumber extends IJsonSchemaAttribute.INumber {\n /**\n * Default value.\n */\n default?: number;\n /**\n * Minimum value restriction.\n */\n minimum?: number;\n /**\n * Maximum value restriction.\n */\n maximum?: number;\n /**\n * Exclusive minimum value restriction.\n */\n exclusiveMinimum?: number;\n /**\n * Exclusive maximum value restriction.\n */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /**\n * String type info.\n */\n interface IString extends IJsonSchemaAttribute.IString {\n /**\n * Default value.\n */\n default?: string;\n /**\n * Format restriction.\n */\n format?: \"binary\" | \"byte\" | \"password\" | \"regex\" | \"uuid\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"iri\" | \"iri-reference\" | \"ipv4\" | \"ipv6\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"date-time\" | \"date\" | \"time\" | \"duration\" | \"json-pointer\" | \"relative-json-pointer\" | (string & {});\n /**\n * Pattern restriction.\n */\n pattern?: string;\n /**\n * Content media type restriction.\n */\n contentMediaType?: string;\n /**\n * Minimum length restriction.\n *\n * @type uint64\n */\n minLength?: number;\n /**\n * Maximum length restriction.\n *\n * @type uint64\n */\n maxLength?: number;\n }\n /**\n * Array type info.\n */\n interface IArray extends IJsonSchemaAttribute.IArray {\n /**\n * Items type info.\n *\n * The `items` means the type of the array elements. In other words, it is\n * the type schema info of the `T` in the TypeScript array type `Array<T>`.\n */\n items: ILlmSchemaV3_1;\n /**\n * Unique items restriction.\n *\n * If this property value is `true`, target array must have unique items.\n */\n uniqueItems?: boolean;\n /**\n * Minimum items restriction.\n *\n * Restriction of minimum number of items in the array.\n *\n * @type uint64\n */\n minItems?: number;\n /**\n * Maximum items restriction.\n *\n * Restriction of maximum number of items in the array.\n *\n * @type uint64\n */\n maxItems?: number;\n }\n /**\n * Object type info.\n */\n interface IObject extends IJsonSchemaAttribute.IObject {\n /**\n * Properties of the object.\n *\n * The `properties` means a list of key-value pairs of the object's\n * regular properties. The key is the name of the regular property,\n * and the value is the type schema info.\n *\n * If you need additional properties that is represented by dynamic key,\n * you can use the {@link additionalProperties} instead.\n */\n properties: Record<string, ILlmSchemaV3_1>;\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * If the value is `true`, it means that the additional properties are not\n * restricted. They can be any type. Otherwise, if the value is\n * {@link IOpenAiSchema} type, it means that the additional properties must\n * follow the type schema info.\n *\n * - `true`: `Record<string, any>`\n * - `IOpenAiSchema`: `Record<string, T>`\n */\n additionalProperties?: boolean | ILlmSchemaV3_1;\n /**\n * List of key values of the required properties.\n *\n * The `required` means a list of the key values of the required\n * {@link properties}. If some property key is not listed in the `required`\n * list, it means that property is optional. Otherwise some property key\n * exists in the `required` list, it means that the property must be filled.\n *\n * Below is an example of the {@link properties} and `required`.\n *\n * ```typescript\n * interface SomeObject {\n * id: string;\n * email: string;\n * name?: string;\n * }\n * ```\n *\n * As you can see, `id` and `email` {@link properties} are {@link required},\n * so that they are listed in the `required` list.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"id\": { \"type\": \"string\" },\n * \"email\": { \"type\": \"string\" },\n * \"name\": { \"type\": \"string\" }\n * },\n * \"required\": [\"id\", \"email\"]\n * }\n * ```\n */\n required: string[];\n }\n /**\n * Reference type directing named schema.\n */\n interface IReference extends IJsonSchemaAttribute {\n /**\n * Reference to the named schema.\n *\n * The `ref` is a reference to the named schema. Format of the `$ref` is\n * following the JSON Pointer specification. In the OpenAPI, the `$ref`\n * starts with `#/$defs/` which means the type is stored in\n * the {@link ILlmSchemaV3_1.IParameters.$defs} object.\n *\n * - `#/$defs/SomeObject`\n * - `#/$defs/AnotherObject`\n */\n $ref: string;\n }\n /**\n * Union type.\n *\n * `IOneOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has\n * defined `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly\n * converts it to `oneOf` type.\n */\n interface IOneOf extends IJsonSchemaAttribute {\n /**\n * List of the union types.\n */\n oneOf: Exclude<ILlmSchemaV3_1, ILlmSchemaV3_1.IOneOf>[];\n /**\n * Discriminator info of the union type.\n */\n discriminator?: IOneOf.IDiscriminator;\n }\n namespace IOneOf {\n /**\n * Discriminator info of the union type.\n */\n interface IDiscriminator {\n /**\n * Property name for the discriminator.\n */\n propertyName: string;\n /**\n * Mapping of the discriminator value to the schema name.\n *\n * This property is valid only for {@link IReference} typed\n * {@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is\n * the discriminator value, and `value` of `mapping` is the\n * schema name like `#/components/schemas/SomeObject`.\n */\n mapping?: Record<string, string>;\n }\n }\n /**\n * Null type.\n */\n interface INull extends IJsonSchemaAttribute.INull {\n /**\n * Default value.\n */\n default?: null;\n }\n /**\n * Unknown, the `any` type.\n */\n interface IUnknown extends IJsonSchemaAttribute.IUnknown {\n }\n /**\n * Significant attributes that can be applied to the most types.\n *\n * @deprecated\n * @hidden\n */\n interface __ISignificant<Type extends string> extends __IAttribute {\n /**\n * Discriminator value of the type.\n */\n type: Type;\n }\n /**\n * Common attributes that can be applied to all types.\n *\n * @deprecated\n * @hidden\n */\n type __IAttribute = IJsonSchemaAttribute;\n}\n",
12521
- "node_modules/@samchon/openapi/lib/structures/IMcpLlmApplication.d.ts": "import { ILlmSchema } from \"./ILlmSchema\";\nimport { IMcpLlmFunction } from \"./IMcpLlmFunction\";\n/**\n * Application of LLM function call from MCP document.\n *\n * `IMcpLlmApplication` is an interface representing a collection of\n * {@link IMcpLlmFunction LLM function calling schemas} composed from the\n * MCP (Model Context Protocol) document. It contains\n * {@link IMcpLlmApplication.errors failed functions}, and adjusted\n * {@link IMcpLlmApplication.options options} during the `IMcpLlmApplication`\n * construction.\n *\n * About each function of MCP server, there can be {@link errors} during\n * the composition, if the target {@link model} does not support the\n * function's {@link IMcpLlmFunction.parameters} type. For example,\n * Google Gemini model does not support union type, so that the function\n * containing the union type would be placed into the {@link errors} list\n * instead of {@link functions}.\n *\n * Also, each function has its own {@link IMcpLlmFunction.validate}\n * function for correcting AI agent's mistakes, and this is the reason why\n * `@samchon/openapi` recommends not to use the\n * [`mcp_servers`](https://openai.github.io/openai-agents-python/mcp/#using-mcp-servers)\n * property of LLM API directly, but to use the function calling feature\n * instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @author Byeongjin Oh - https://github.com/sunrabbit123\n */\nexport interface IMcpLlmApplication<Model extends ILlmSchema.Model> {\n /**\n * Model of the target LLM.\n */\n model: Model;\n /**\n * List of function metadata.\n *\n * List of function metadata that can be used for the LLM function call.\n */\n functions: IMcpLlmFunction<Model>[];\n /**\n * List of errors occurred during the composition.\n */\n errors: IMcpLlmApplication.IError[];\n /**\n * Configuration for the application.\n */\n options: IMcpLlmApplication.IOptions<Model>;\n}\nexport declare namespace IMcpLlmApplication {\n /**\n * Options for the HTTP LLM application schema composition.\n */\n type IOptions<Model extends ILlmSchema.Model> = ILlmSchema.ModelConfig[Model] & {\n /**\n * Maximum length of function name.\n *\n * When a function name is longer than this value, it will be truncated.\n *\n * If not possible to truncate due to the duplication, the function name\n * would be modified to randomly generated (UUID v4).\n *\n * @default 64\n */\n maxLength?: number;\n };\n /**\n * Error occurred in the composition.\n */\n interface IError {\n /**\n * Name of the failed function.\n */\n name: string;\n /**\n * Description of the failed function.\n */\n description?: string | undefined;\n /**\n * Parameters of the function.\n */\n parameters: object;\n /**\n * Error messages.\n *\n * The reason why the function is failed to be convert.\n */\n messages: string[];\n }\n}\n",
12522
- "node_modules/@samchon/openapi/lib/structures/IMcpLlmController.d.ts": "import { ILlmSchema } from \"./ILlmSchema\";\nimport { IMcpLlmApplication } from \"./IMcpLlmApplication\";\n\n/**\n * Controller of MCP function calling.\n *\n * `IMcpLlmController` is a controller of MCP function calling,\n * containing not only the {@link IMcpLlmApplication application} of\n * {@link IMcpLlmFunction function calling schemas}, but also\n * {@link name identifier name} of the application and\n * {@link execute executor} of MCP functions.\n *\n * Here is an example of using `IMcpLlmController` type for AI agent\n * development of performing AI function calling to e-commerce API\n * functions through `@agentica`.\n *\n * ```typescript\n * import { Agentica, assertMcpController } from \"@wrtnlabs/agentica\";\n * import { StdioClientTransport } from \"@modelcontextprotocol/sdk/client/stdio.js\";\n * import { Client } from \"@modelcontextprotocol/sdk/client/index.js\";\n *\n * const client = new Client({\n * name: \"calculator\",\n * version: \"1.0.0\",\n * });\n * await client.connect(new StdioClientTransport({\n * command: \"npx\",\n * args: [\"-y\", \"@modelcontextprotocol/server-github\"],\n * env: {\n * GITHUB_PERSONAL_ACCESS_TOKEN: process.env.GITHUB_PERSONAL_ACCESS_TOKEN,\n * // Add other environment variables as needed\n * }\n * }));\n *\n * const agent = new Agentica({\n * model: \"chatgpt\",\n * vendor: {\n * api: new OpenAI({ apiKey: \"*****\"})\n * model: \"gpt-4o-mini\"\n * },\n * controllers: [\n * await assertMcpController({\n * name: \"calculator\",\n * model: \"chatgpt\",\n * client,\n * }),\n * ],\n * });\n * await agent.conversate(\"What can you do?\");\n * ```\n *\n * For reference, this `IMcpLlmController` type is designed for\n * MCP servers. If you want to make a controller of another\n * {@link protocol} like HTTP or TypeScript, use below types instead:\n *\n * - {@link IHttpLlmController} for HTTP\n * - {@link ILlmController} for TypeScript\n *\n * @reference https://wrtnlabs.io/agentica/docs/core/controller/mcp/\n * @author Jeongho Nam - https://github.com/samchon\n * @author Byeongjin Oh - https://github.com/sunrabbit123\n */\nexport interface IMcpLlmController<Model extends ILlmSchema.Model> {\n /**\n * Protocol discriminator.\n */\n protocol: \"mcp\";\n\n /**\n * Identifier name of the controller.\n */\n name: string;\n\n /**\n * Application schema of function calling.\n */\n application: IMcpLlmApplication<Model>;\n\n /**\n * MCP client for connection.\n *\n * @warning You have to install `@modelcontextprotocol/sdk` package\n * to use this type properly. If not, this type would work\n * as an `any` type, so that you can't validate it.\n */\n // @ts-ignore\n client: import(\"@modelcontextprotocol/sdk/client/index.d.ts\").Client;\n}\n",
12523
- "node_modules/@samchon/openapi/lib/structures/IMcpLlmFunction.d.ts": "import { ILlmSchema } from \"./ILlmSchema\";\nimport { IValidation } from \"./IValidation\";\n/**\n * MCP LLM function.\n *\n * `IMcpLlmFunction` is an interface representing a function metadata\n * of MCP (Model Context Protocol), which has been designed for the LLM\n * (Language Large Model) function calling, instead of providing\n * [`mcp_servers`](https://openai.github.io/openai-agents-python/mcp/#using-mcp-servers)\n * property to the LLM vendor API.\n *\n * It contains the target function's metadata {@link name}, {@link parameters}\n * and {@link description}. You can put these properties to the LLM vendor API\n * to let the LLM know the function's purpose and how to call it.\n *\n * Also, it contains {@link validate} function, which is used to validate the\n * function arguments generated by AI agent. It is very important to the\n * LLM function calling, because LLM like OpenAI takes a lot of mistakes when\n * composing arguments in function calling. Even though `number` like\n * simple type is defined in the {@link parameters} schema, LLM often\n * fills it just by a `string` typed value.\n *\n * > This is the reason why `@samchon/openapi` recommends not to use the\n * > [`mcp_servers`](https://openai.github.io/openai-agents-python/mcp/#using-mcp-servers)\n * > property of LLM API directly, but to use the function calling feature\n * > instead. You have to make the AI agent to correct the type level mistakes\n * > by using the `validate` function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @author Byeongjin Oh - https://github.com/sunrabbit123\n */\nexport interface IMcpLlmFunction<Model extends ILlmSchema.Model> {\n /**\n * Representative name of the function.\n *\n * @maxLength 64\n */\n name: string;\n /**\n * Description of the function.\n *\n * For reference, the `description` is very important property to teach\n * the purpose of the function to the LLM (Language Large Model), and\n * LLM actually determines which function to call by the description.\n *\n * Also, when the LLM conversates with the user, the `description` is\n * used to explain the function to the user. Therefore, the `description`\n * property has the highest priority, and you have to consider it.\n */\n description?: string | undefined;\n /**\n * Parameters of the function.\n */\n parameters: ILlmSchema.IParameters<Model>;\n /**\n * Validate function of the arguments.\n *\n * You know what? LLM (Large Language Model) like OpenAI takes a lot of\n * mistakes when composing arguments in function calling. Even though\n * `number` like simple type is defined in the {@link parameters} schema,\n * LLM often fills it just by a `string` typed value.\n *\n * In that case, you have to give a validation feedback to the LLM by\n * using this `validate` function. The `validate` function will return\n * detailed information about every type errors about the arguments.\n *\n * And in my experience, OpenAI's `gpt-4o-mini` model tends to construct\n * an invalid function calling arguments at the first trial about 50% of\n * the time. However, if correct it through this `validate` function,\n * the success rate soars to 99% at the second trial, and I've never\n * failed at the third trial.\n *\n * > If you've {@link separated} parameters, use the\n * > {@link IMcpLlmFunction.ISeparated.validate} function instead when\n * > validating the LLM composed arguments.\n * >\n * > In that case, This `validate` function would be meaningful only\n * > when you've merged the LLM and human composed arguments by\n * > {@link McpLlm.mergeParameters} function.\n *\n * @param args Arguments to validate\n * @returns Validation result\n */\n validate: (args: unknown) => IValidation<unknown>;\n}\n",
12524
- "node_modules/@samchon/openapi/lib/structures/IMcpTool.d.ts": "import { OpenApiV3_1 } from \"../OpenApiV3_1\";\n/**\n * MCP tool type.\n *\n * `IMcpTool` is an interface representing a tool type defined in\n * the MCP (Model Context Protocol).\n *\n * Note that, don't be confused with {@link IMcpLlmFunction} type, that is\n * used for {@link McpLlm.application} which converts this `IMcpTool` type\n * to the {@link IMcpLlmFunction} type.\n *\n * @warning Don't be confused with {@link IMcpLlmFunction}\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IMcpTool {\n /**\n * Name of the tool.\n *\n * @maxLength 64\n */\n name: string;\n /**\n * Description of the tool.\n */\n description?: string | undefined;\n /**\n * Input schema of the tool.\n *\n * The input schema, parameters of the tool.\n *\n * As MCP (Model Context Protocol) does not restict the JSON schema\n * specification, `@samchon/openapi` has defined it to be universal\n * structure {@link OpenApiV3_1.IJsonSchema} which can cover every\n * JSON schema specification.\n */\n inputSchema: IMcpTool.IInputSchema;\n}\nexport declare namespace IMcpTool {\n /**\n * Input schema of the tool.\n *\n * The input schema, parameters of the tool.\n *\n * As MCP (Model Context Protocol) does not restict the JSON schema\n * specification, `@samchon/openapi` has defined it to be universal\n * structure {@link OpenApiV3_1.IJsonSchema} which can cover every\n * JSON schema specification.\n */\n type IInputSchema = (OpenApiV3_1.IJsonSchema.IObject | OpenApiV3_1.IJsonSchema.IReference) & {\n /**\n * Collection of the named schemas.\n */\n $defs?: Record<string, OpenApiV3_1.IJsonSchema>;\n };\n}\n",
12525
- "node_modules/@samchon/openapi/lib/structures/IOpenApiSchemaError.d.ts": "import { OpenApi } from \"../OpenApi\";\n/**\n * OpenAPI schema related error.\n *\n * `IOpenApiSchemaError` is a type representing an error that occurred during the\n * iteration or transformation of the OpenAPI schema (JSON schema) of\n * {@link OpenApi.IJsonSchema} type.\n *\n * The most `IOpenApiSchemaError` is occurred by the transformation process from\n * {@link OpenApi.IJsonSchema} to {@link ILlmSchema} type. The transformation can\n * be failed by following reasons:\n *\n * - Unable to find the {@link OpenApi.IJsonSchema.IReference} directing.\n * - Non-supported type in LLM schema models\n * - Every models do not support {@link OpenApi.IJsonSchema.ITuple}\n * - Gemini does not support {@link OpenApi.IJsonSchema.IOneOf}\n * - ChatGPT and Gemini do not support {@link OpenApi.IJsonSchema.IObject.additionalProperties}\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IOpenApiSchemaError {\n /**\n * Method that caused the error.\n */\n method: string;\n /**\n * Message of the error.\n */\n message: string;\n /**\n * The detailed reasons of the error.\n */\n reasons: IOpenApiSchemaError.IReason[];\n}\nexport declare namespace IOpenApiSchemaError {\n /**\n * Detailed reason of the error.\n */\n interface IReason {\n /**\n * Schema that caused the error.\n */\n schema: OpenApi.IJsonSchema;\n /**\n * Accessor to the schema.\n */\n accessor: string;\n /**\n * Message of the reason.\n */\n message: string;\n }\n}\n",
12526
- "node_modules/@samchon/openapi/lib/structures/IResult.d.ts": "/**\n * Result of an operation that can either succeed or fail.\n *\n * `IResult` is an union type that represents the result of an operation\n * that can either succeed or fail.\n *\n * You can distinguished the result by checking the {@link IResult.success} value,\n * and if it's `true`, the success value is stored in {@link IResult.value}.\n * Otherwise, if it's `false`, the error value is stored in {@link IResult.error}.\n *\n * @template T Type of the success value.\n * @template E Type of the error value.\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport type IResult<T, E> = IResult.ISuccess<T> | IResult.IFailure<E>;\nexport declare namespace IResult {\n /**\n * Success type of {@link IResult}.\n */\n interface ISuccess<T> {\n /**\n * Success flag.\n */\n success: true;\n /**\n * Success value.\n */\n value: T;\n }\n /**\n * Failure type of {@link IResult}.\n */\n interface IFailure<E> {\n /**\n * Success flag.\n */\n success: false;\n /**\n * The error value.\n */\n error: E;\n }\n}\n",
12527
- "node_modules/@samchon/openapi/lib/structures/IValidation.d.ts": "export type IValidation<T = unknown> = IValidation.ISuccess<T> | IValidation.IFailure;\nexport declare namespace IValidation {\n interface ISuccess<T = unknown> {\n success: true;\n data: T;\n }\n interface IFailure {\n success: false;\n data: unknown;\n errors: IError[];\n }\n interface IError {\n path: string;\n expected: string;\n value: any;\n }\n}\n",
12502
+ "node_modules/@samchon/openapi/lib/structures/IChatGptSchema.d.ts": "import { IJsonSchemaAttribute } from \"./IJsonSchemaAttribute\";\n/**\n * Type schema info of the ChatGPT.\n *\n * `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n *\n * `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI\n * v3.1 speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n *\n * However, the `IChatGptSchema` does not follow the entire specification of the\n * OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n * list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property:\n * {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n * - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n * {@link IChatGptSchema.IReference}\n * - When {@link IChatGptSchema.IConfig.strict} mode\n *\n * - Every object properties must be required\n * - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n *\n * If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema\n * specification,\n *\n * - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n * - {@link IChatGptSchema.IParameters.$defs} instead of the\n * {@link OpenApi.IJsonSchema.IComponents.schemas}\n * - {@link IChatGptSchema.IString.enum} instead of the\n * {@link OpenApi.IJsonSchema.IConstant}\n * - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n * - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n * - When {@link IChatGptSchema.IConfig.strict} mode\n *\n * - Every object properties must be required\n * - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n *\n * For reference, if you've composed the `IChatGptSchema` type with the\n * {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n * only the recursived named types would be archived into the\n * {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from\n * the {@link IChatGptSchema.IReference} type.\n *\n * Also, OpenAI has banned below constraint properties. Instead,\n * `IChatGptSchema` fills the {@link IChatGptSchema.__IAttribute.description}\n * property with the comment text like `\"@format uuid\"`.\n *\n * - {@link OpenApi.IJsonSchema.INumber.minimum}\n * - {@link OpenApi.IJsonSchema.INumber.maximum}\n * - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n * - {@link OpenApi.IJsonSchema.IString.minLength}\n * - {@link OpenApi.IJsonSchema.IString.maxLength}\n * - {@link OpenApi.IJsonSchema.IString.format}\n * - {@link OpenApi.IJsonSchema.IString.pattern}\n * - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n * - {@link OpenApi.IJsonSchema.IString.default}\n * - {@link OpenApi.IJsonSchema.IArray.minItems}\n * - {@link OpenApi.IJsonSchema.IArray.maxItems}\n * - {@link OpenApi.IJsonSchema.IArray.unique}\n *\n * Additionally, OpenAI cannot define the `description` property to the\n * {@link IChatGptSchema.IReference} type, and even does not understand the\n * capsulization to the {@link IChatGptSchema.IAnyOf} type. Therefore, the\n * `description` is written to the parent object type, not the reference type.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"description\": \"### Description of {@link something} property.\\n\\n> Hello?\",\n * \"properties\": {\n * \"something\": {\n * \"$ref\": \"#/$defs/SomeObject\"\n * }\n * }\n * }\n * ```\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @reference https://platform.openai.com/docs/guides/function-calling\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n * @warning Specified not only by the official documentation, but also by my\n * experiments. Therefore, its definitions can be inaccurate or be\n * changed in the future. If you find any wrong or outdated definitions,\n * please let me know by issue.\n * @issue https://github.com/samchon/openapi/issues\n */\nexport type IChatGptSchema = IChatGptSchema.IBoolean | IChatGptSchema.IInteger | IChatGptSchema.INumber | IChatGptSchema.IString | IChatGptSchema.IArray | IChatGptSchema.IObject | IChatGptSchema.IReference | IChatGptSchema.IAnyOf | IChatGptSchema.INull | IChatGptSchema.IUnknown;\nexport declare namespace IChatGptSchema {\n /**\n * Type of the function parameters.\n *\n * `IChatGptSchema.IParameters` is a type defining a function's parameters as\n * a keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n interface IParameters extends Omit<IObject, \"additionalProperties\"> {\n /** Collection of the named types. */\n $defs: Record<string, IChatGptSchema>;\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * By the way, it is not allowed in the parameters level.\n */\n additionalProperties: false;\n }\n /** Boolean type info. */\n interface IBoolean extends IJsonSchemaAttribute.IBoolean {\n /** Enumeration values. */\n enum?: Array<boolean>;\n }\n /** Integer type info. */\n interface IInteger extends IJsonSchemaAttribute.IInteger {\n /** Enumeration values. */\n enum?: Array<number>;\n }\n /** Number (double) type info. */\n interface INumber extends IJsonSchemaAttribute.INumber {\n /** Enumeration values. */\n enum?: Array<number>;\n }\n /** String type info. */\n interface IString extends IJsonSchemaAttribute.IString {\n /** Enumeration values. */\n enum?: Array<string>;\n }\n /** Array type info. */\n interface IArray extends IJsonSchemaAttribute.IArray {\n /**\n * Items type info.\n *\n * The `items` means the type of the array elements. In other words, it is\n * the type schema info of the `T` in the TypeScript array type `Array<T>`.\n */\n items: IChatGptSchema;\n }\n /** Object type info. */\n interface IObject extends IJsonSchemaAttribute.IObject {\n /**\n * Properties of the object.\n *\n * The `properties` means a list of key-value pairs of the object's regular\n * properties. The key is the name of the regular property, and the value is\n * the type schema info.\n */\n properties: Record<string, IChatGptSchema>;\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * By the way, if you've configured {@link IChatGptSchema.IConfig.strict} as\n * `true`, ChatGPT function calling does not support such dynamic key typed\n * properties, so the `additionalProperties` becomes always `false`.\n */\n additionalProperties?: boolean | IChatGptSchema;\n /**\n * List of key values of the required properties.\n *\n * The `required` means a list of the key values of the required\n * {@link properties}. If some property key is not listed in the `required`\n * list, it means that property is optional. Otherwise some property key\n * exists in the `required` list, it means that the property must be\n * filled.\n *\n * Below is an example of the {@link properties} and `required`.\n *\n * ```typescript\n * interface SomeObject {\n * id: string;\n * email: string;\n * name?: string;\n * }\n * ```\n *\n * As you can see, `id` and `email` {@link properties} are {@link required},\n * so that they are listed in the `required` list.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"id\": { \"type\": \"string\" },\n * \"email\": { \"type\": \"string\" },\n * \"name\": { \"type\": \"string\" }\n * },\n * \"required\": [\"id\", \"email\"]\n * }\n * ```\n */\n required: string[];\n }\n /** Reference type directing named schema. */\n interface IReference extends IJsonSchemaAttribute {\n /**\n * Reference to the named schema.\n *\n * The `ref` is a reference to the named schema. Format of the `$ref` is\n * following the JSON Pointer specification. In the OpenAPI, the `$ref`\n * starts with `#/$defs/` which means the type is stored in the\n * {@link IChatGptSchema.IParameters.$defs} object.\n *\n * - `#/$defs/SomeObject`\n * - `#/$defs/AnotherObject`\n */\n $ref: string;\n }\n /**\n * Union type.\n *\n * `IAnyOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has defined\n * `anyOf` instead of the `oneOf`, {@link IChatGptSchema} forcibly converts it\n * to `oneOf` type.\n */\n interface IAnyOf extends IJsonSchemaAttribute {\n /** List of the union types. */\n anyOf: Exclude<IChatGptSchema, IChatGptSchema.IAnyOf>[];\n /** Discriminator info of the union type. */\n \"x-discriminator\"?: IAnyOf.IDiscriminator;\n }\n namespace IAnyOf {\n /** Discriminator info of the union type. */\n interface IDiscriminator {\n /** Property name for the discriminator. */\n propertyName: string;\n /**\n * Mapping of the discriminator value to the schema name.\n *\n * This property is valid only for {@link IReference} typed\n * {@link IAnyOf.oneof} elements. Therefore, `key` of `mapping` is the\n * discriminator value, and `value` of `mapping` is the schema name like\n * `#/components/schemas/SomeObject`.\n */\n mapping?: Record<string, string>;\n }\n }\n /** Null type. */\n interface INull extends IJsonSchemaAttribute.INull {\n }\n /** Unknown, the `any` type. */\n interface IUnknown extends IJsonSchemaAttribute.IUnknown {\n }\n /**\n * Significant attributes that can be applied to the most types.\n *\n * @ignore\n * @deprecated\n */\n interface __ISignificant<Type extends string> extends __IAttribute {\n /** Discriminator value of the type. */\n type: Type;\n }\n /**\n * Common attributes that can be applied to all types.\n *\n * @ignore\n * @deprecated\n */\n type __IAttribute = IJsonSchemaAttribute;\n /** Configuration for ChatGPT schema composition. */\n interface IConfig {\n /**\n * Whether to allow reference type in everywhere.\n *\n * If you configure this property to `false`, most of reference types\n * represented by {@link IChatGptSchema.IReference} would be escaped to a\n * plain type unless recursive type case.\n *\n * This is because the lower version of ChatGPT does not understand the\n * reference type well, and even the modern version of ChatGPT sometimes\n * occur the hallucination.\n *\n * However, the reference type makes the schema size smaller, so that\n * reduces the LLM token cost. Therefore, if you're using the modern version\n * of ChatGPT, and want to reduce the LLM token cost, you can configure this\n * property to `true`.\n *\n * @default true\n */\n reference: boolean;\n /**\n * Whether to apply the strict mode.\n *\n * If you configure this property to `true`, the ChatGPT function calling\n * does not allow optional properties and dynamic key typed properties in\n * the {@link IChatGptSchema.IObject} type. Instead, it increases the success\n * rate of the function calling.\n *\n * By the way, if you utilize the {@link typia.validate} function and give\n * its validation feedback to the ChatGPT, its performance is much better\n * than the strict mode. Therefore, I recommend you to just turn off the\n * strict mode and utilize the {@link typia.validate} function instead.\n *\n * @default false\n */\n strict?: boolean;\n }\n}\n",
12503
+ "node_modules/@samchon/openapi/lib/structures/IClaudeSchema.d.ts": "import { ILlmSchemaV3_1 } from \"./ILlmSchemaV3_1\";\n/**\n * Type schema info of the Claude.\n *\n * `IClaudeSchema` is a type schema info of the Claude function calling.\n *\n * `IClaudeSchema` seems fully supporting the JSON schema definition of the\n * OpenAPI v3.1 specification; {@link OpenApiV3_1.IJsonSchema}. By the way, as\n * the {@link OpenApiV3_1.IJsonSchema} has too much ambiguous and duplicated\n * expressions, `IClaudeSchema` is designed to be clear and simple for the\n * Claude function calling, by utilizng {@link ILlmSchemaV3_1} which has been\n * transformed from the {@link OpenApi.IJsonSchema} for the convenience and\n * clarity.\n *\n * Therefore, `IClaudeSchema` does not follow the entire specification of the\n * OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n * list of how `ILlmSchemaV3_1` is different with the OpenAPI v3.1 JSON schema.\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property:\n * {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n * - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to {@link IClaudeSchema.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IClaudeSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n * {@link IClaudeSchema.IReference}\n * - Do not support {@link OpenApiV3_1.IJsonSchema.ITuple} type\n *\n * If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema\n * specification,\n *\n * - {@link IClaudeSchema.IParameters.$defs} instead of the\n * {@link OpenApi.IJsonSchema.schemas}\n * - Do not support {@link OpenApi.IJsonSchema.ITuple} type\n * - {@link IClaudeSchema.properties} and {@link IClaudeSchema.required} are always\n * defined\n *\n * For reference, if you've composed the `IClaudeSchema` type with the\n * {@link IClaudeSchema.IConfig.reference} `false` option (default is `false`),\n * only the recursive named types would be archived into the\n * {@link IClaudeSchema.IParameters.$defs}, and the others would be escaped from\n * the {@link IClaudeSchema.IReference} type.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @reference https://docs.anthropic.com/en/docs/build-with-claude/tool-use\n * @reference https://docs.anthropic.com/en/docs/test-and-evaluate/strengthen-guardrails/increase-consistency\n */\nexport type IClaudeSchema = IClaudeSchema.IConstant | IClaudeSchema.IBoolean | IClaudeSchema.IInteger | IClaudeSchema.INumber | IClaudeSchema.IString | IClaudeSchema.IArray | IClaudeSchema.IObject | IClaudeSchema.IReference | IClaudeSchema.IOneOf | IClaudeSchema.INull | IClaudeSchema.IUnknown;\nexport declare namespace IClaudeSchema {\n /** Configuration for Claude schema composition. */\n interface IConfig {\n /**\n * Whether to allow reference type in everywhere.\n *\n * If you configure this property to `false`, most of reference types\n * represented by {@link IClaudeSchema.IReference} would be escaped to a\n * plain type unless recursive type case.\n *\n * This is because some low sized LLM models does not understand the\n * reference type well, and even the large size LLM models sometimes occur\n * the hallucination.\n *\n * However, the reference type makes the schema size smaller, so that\n * reduces the LLM token cost. Therefore, if you're using the large size of\n * LLM model, and want to reduce the LLM token cost, you can configure this\n * property to `true`.\n *\n * @default true\n */\n reference: boolean;\n }\n /**\n * Type of the function parameters.\n *\n * `IClaudeSchema.IParameters` is a type defining a function's parameters as a\n * keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n type IParameters = ILlmSchemaV3_1.IParameters;\n /** Constant value type. */\n type IConstant = ILlmSchemaV3_1.IConstant;\n /** Boolean type info. */\n type IBoolean = ILlmSchemaV3_1.IBoolean;\n /** Integer type info. */\n type IInteger = ILlmSchemaV3_1.IInteger;\n /** Number (double) type info. */\n type INumber = ILlmSchemaV3_1.INumber;\n /** String type info. */\n type IString = ILlmSchemaV3_1.IString;\n /** Array type info. */\n type IArray = ILlmSchemaV3_1.IArray;\n /** Object type info. */\n type IObject = ILlmSchemaV3_1.IObject;\n /** Reference type directing named schema. */\n type IReference = ILlmSchemaV3_1.IReference;\n /**\n * Union type.\n *\n * `IOneOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has defined\n * `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly converts it to\n * `oneOf` type.\n */\n type IOneOf = ILlmSchemaV3_1.IOneOf;\n namespace IOneOf {\n /** Discriminator info of the union type. */\n type IDiscriminator = ILlmSchemaV3_1.IOneOf.IDiscriminator;\n }\n /** Null type. */\n type INull = ILlmSchemaV3_1.INull;\n /** Unknown, the `any` type. */\n type IUnknown = ILlmSchemaV3_1.IUnknown;\n}\n",
12504
+ "node_modules/@samchon/openapi/lib/structures/IDeepSeekSchema.d.ts": "import { ILlmSchemaV3_1 } from \"./ILlmSchemaV3_1\";\n/**\n * Type schema info of the DeepSeek.\n *\n * `IDeepSeekSchema` is a type schema info of the DeepSeek function calling.\n *\n * `IDeepSeekSchema` seems fully supporting the JSON schema definition of the\n * OpenAPI v3.1 specification; {@link OpenApiV3_1.IJsonSchema}. By the way, as\n * the {@link OpenApiV3_1.IJsonSchema} has too much ambiguous and duplicated\n * expressions, `IDeepSeekSchema` is designed to be clear and simple for the\n * DeepSeek function calling, by utilizing {@link ILlmSchemaV3_1} which has been\n * transformed from the {@link OpenApi.IJsonSchema} for the convenience and\n * clarity.\n *\n * Therefore, `IDeepSeekSchema` does not follow the entire specification of the\n * OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n * list of how `ILlmSchemaV3_1` is different with the OpenAPI v3.1 JSON schema.\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property:\n * {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n * - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to {@link IDeepSeekSchema.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IDeepSeekSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n * {@link IDeepSeekSchema.IReference}\n * - Do not support {@link OpenApiV3_1.IJsonSchema.ITuple} type\n *\n * If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema\n * specification,\n *\n * - {@link IDeepSeekSchema.IParameters.$defs} instead of the\n * {@link OpenApi.IJsonSchema.schemas}\n * - Do not support {@link OpenApi.IJsonSchema.ITuple} type\n * - {@link IDeepSeekSchema.properties} and {@link IDeepSeekSchema.required} are\n * always defined\n *\n * For reference, if you've composed the `IDeepSeekSchema` type with the\n * {@link IDeepSeekSchema.IConfig.reference} `false` option (default is `false`),\n * only the recursive named types would be archived into the\n * {@link IDeepSeekSchema.IParameters.$defs}, and the others would be escaped\n * from the {@link IDeepSeekSchema.IReference} type.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport type IDeepSeekSchema = IDeepSeekSchema.IConstant | IDeepSeekSchema.IBoolean | IDeepSeekSchema.IInteger | IDeepSeekSchema.INumber | IDeepSeekSchema.IString | IDeepSeekSchema.IArray | IDeepSeekSchema.IObject | IDeepSeekSchema.IReference | IDeepSeekSchema.IOneOf | IDeepSeekSchema.INull | IDeepSeekSchema.IUnknown;\nexport declare namespace IDeepSeekSchema {\n /** Configuration for DeepSeek schema composition. */\n interface IConfig {\n /**\n * Whether to allow reference type in everywhere.\n *\n * If you configure this property to `false`, most of reference types\n * represented by {@link IDeepSeekSchema.IReference} would be escaped to a\n * plain type unless recursive type case.\n *\n * This is because some low sized LLM models does not understand the\n * reference type well, and even the large size LLM models sometimes occur\n * the hallucination.\n *\n * However, the reference type makes the schema size smaller, so that\n * reduces the LLM token cost. Therefore, if you're using the large size of\n * LLM model, and want to reduce the LLM token cost, you can configure this\n * property to `true`.\n *\n * @default true\n */\n reference: boolean;\n }\n /**\n * Type of the function parameters.\n *\n * `IDeepSeekSchema.IParameters` is a type defining a function's parameters as\n * a keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n type IParameters = ILlmSchemaV3_1.IParameters;\n /** Constant value type. */\n type IConstant = ILlmSchemaV3_1.IConstant;\n /** Boolean type info. */\n type IBoolean = ILlmSchemaV3_1.IBoolean;\n /** Integer type info. */\n type IInteger = ILlmSchemaV3_1.IInteger;\n /** Number (double) type info. */\n type INumber = ILlmSchemaV3_1.INumber;\n /** String type info. */\n type IString = ILlmSchemaV3_1.IString;\n /** Array type info. */\n type IArray = ILlmSchemaV3_1.IArray;\n /** Object type info. */\n type IObject = ILlmSchemaV3_1.IObject;\n /** Reference type directing named schema. */\n type IReference = ILlmSchemaV3_1.IReference;\n /**\n * Union type.\n *\n * `IOneOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has defined\n * `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly converts it to\n * `oneOf` type.\n */\n type IOneOf = ILlmSchemaV3_1.IOneOf;\n namespace IOneOf {\n /** Discriminator info of the union type. */\n type IDiscriminator = ILlmSchemaV3_1.IOneOf.IDiscriminator;\n }\n /** Null type. */\n type INull = ILlmSchemaV3_1.INull;\n /** Unknown, the `any` type. */\n type IUnknown = ILlmSchemaV3_1.IUnknown;\n}\n",
12505
+ "node_modules/@samchon/openapi/lib/structures/IGeminiSchema.d.ts": "import { IJsonSchemaAttribute } from \"./IJsonSchemaAttribute\";\n/**\n * Type schema info for the Gemini function calling.\n *\n * `IGeminiSchema` is a type metadata for the LLM (Large Language Model)\n * function calling in the Geminimi.\n *\n * `IGeminiSchema` basically follows the JSON schema definition of the OpenAPI\n * v3.0 specification; {@link OpenApiV3.IJsonSchema}. However, `IGeminiSchema`\n * cannot understand union and reference types, represented by the `oneOf` and\n * `$ref` properties. Also, as OpenAPI v3.0 specification does not support the\n * tuple type, `IGeminiSchema` does not support the tuple type either.\n *\n * - Does not support\n *\n * - {@link OpenApiV3.IJsonSchema.IReference}\n * - {@link OpenApiV3.IJsonSchema.IAllOf}\n * - {@link OpenApiV3.IJsonSchema.IAnyOf}\n * - {@link OpenApiV3.IJsonSchema.IOneOf}\n * - {@link OpenApiV3.IJsonSchema.IObject.additionalProperties}\n * - {@link OpenApiV3.IJsonSchema.__IAttribute.title}\n *\n * If compare with {@link OpenApi.IJsonSchema}, the emended JSON schema type,\n * these are not supported in the Gemini schema. One thing interesting is, the\n * Gemini does not support the `title` property, so it would be revealed in the\n * {@link IGeminiSchema.__IAttribute.description} property instead.\n *\n * - {@link OpenApi.IJsonSchema.IReference}\n * - {@link OpenApi.IJsonSchema.IOneOf}\n * - {@link OpenApi.IJsonSchema.ITuple}\n * - {@link OpenApi.IJsonSchema.IObject.additionalProperties}\n * - {@link OpenApi.IJsonSchema.__IAttribute.title}\n *\n * Also, Gemini has banned below constraint properties. Instead, I'll will fill\n * the {@link IGeminiSchema.__IAttribute.description} property with the comment\n * text like `\"@format uuid\"`.\n *\n * - {@link OpenApi.IJsonSchema.INumber.minimum}\n * - {@link OpenApi.IJsonSchema.INumber.maximum}\n * - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n * - {@link OpenApi.IJsonSchema.IString.minLength}\n * - {@link OpenApi.IJsonSchema.IString.maxLength}\n * - {@link OpenApi.IJsonSchema.IString.format}\n * - {@link OpenApi.IJsonSchema.IString.pattern}\n * - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n * - {@link OpenApi.IJsonSchema.IString.default}\n * - {@link OpenApi.IJsonSchema.IArray.minItems}\n * - {@link OpenApi.IJsonSchema.IArray.maxItems}\n * - {@link OpenApi.IJsonSchema.IArray.uniqueItems}\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @reference https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/function-calling\n * @reference https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/function-calling\n * @reference https://ai.google.dev/gemini-api/docs/structured-output\n * @warning Specified not only by the official documentation, but also by my\n * experiments. Therefore, its definitions can be inaccurate or be\n * changed in the future. If you find any wrong or outdated definitions,\n * please let me know by issue.\n * @issue https://github.com/samchon/openapi/issues\n */\nexport type IGeminiSchema = IGeminiSchema.IBoolean | IGeminiSchema.IInteger | IGeminiSchema.INumber | IGeminiSchema.IString | IGeminiSchema.IArray | IGeminiSchema.IObject | IGeminiSchema.IUnknown | IGeminiSchema.INullOnly;\nexport declare namespace IGeminiSchema {\n /** Configuration for the Gemini schema composition. */\n interface IConfig {\n /**\n * Whether to allow recursive types or not.\n *\n * If allow, then how many times to repeat the recursive types.\n *\n * By the way, if the model is \"chatgpt\", the recursive types are always\n * allowed without any limitation, due to it supports the reference type.\n *\n * @default 3\n */\n recursive: false | number;\n }\n /**\n * Type of the function parameters.\n *\n * `IGeminiSchema.IParameters` is a type defining a function's parameters as a\n * keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://ai.google.dev/gemini-api/docs/structured-output\n */\n type IParameters = IObject;\n /** Boolean type schema info. */\n interface IBoolean extends IJsonSchemaAttribute.IBoolean {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /** Enumeration values. */\n enum?: Array<boolean | null>;\n }\n /** Integer type schema info. */\n interface IInteger extends IJsonSchemaAttribute.IInteger {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /**\n * Enumeration values.\n *\n * @type int64\n */\n enum?: Array<number | null>;\n }\n /** Number type schema info. */\n interface INumber extends IJsonSchemaAttribute.INumber {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /** Enumeration values. */\n enum?: Array<number | null>;\n }\n /** String type schema info. */\n interface IString extends IJsonSchemaAttribute.IString {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /** Enumeration values. */\n enum?: Array<string | null>;\n }\n /** Array type schema info. */\n interface IArray extends IJsonSchemaAttribute.IArray {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /**\n * Items type schema info.\n *\n * The `items` means the type of the array elements. In other words, it is\n * the type schema info of the `T` in the TypeScript array type `Array<T>`.\n */\n items: IGeminiSchema;\n }\n /** Object type schema info. */\n interface IObject extends IJsonSchemaAttribute.IObject {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /**\n * Properties of the object.\n *\n * The `properties` means a list of key-value pairs of the object's regular\n * properties. The key is the name of the regular property, and the value is\n * the type schema info.\n *\n * If you need additional properties that is represented by dynamic key, it\n * is not possible to compose because the Gemini does not support it.\n */\n properties: Record<string, IGeminiSchema>;\n /**\n * List of key values of the required properties.\n *\n * The `required` means a list of the key values of the required\n * {@link properties}. If some property key is not listed in the `required`\n * list, it means that property is optional. Otherwise some property key\n * exists in the `required` list, it means that the property must be\n * filled.\n *\n * Below is an example of the {@link properties} and `required`.\n *\n * ```typescript\n * interface SomeObject {\n * id: string;\n * email: string;\n * name?: string;\n * }\n * ```\n *\n * As you can see, `id` and `email` {@link properties} are {@link required},\n * so that they are listed in the `required` list.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"id\": { \"type\": \"string\" },\n * \"email\": { \"type\": \"string\" },\n * \"name\": { \"type\": \"string\" }\n * },\n * \"required\": [\"id\", \"email\"]\n * }\n * ```\n */\n required: string[];\n }\n /** Null only type schema info. */\n interface INullOnly extends IJsonSchemaAttribute.INull {\n }\n /**\n * Unknown type schema info.\n *\n * It means the type of the value is `any`.\n */\n interface IUnknown extends IJsonSchemaAttribute.IUnknown {\n }\n /**\n * Significant attributes that can be applied to the most types.\n *\n * @ignore\n * @deprecated\n */\n interface __ISignificant<Type extends string> extends __IAttribute {\n /** Discriminator value of the type. */\n type: Type;\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n }\n /**\n * Common attributes that can be applied to all types.\n *\n * @ignore\n * @deprecated\n */\n type __IAttribute = IJsonSchemaAttribute;\n}\n",
12506
+ "node_modules/@samchon/openapi/lib/structures/IHttpConnection.d.ts": "/**\n * Connection information.\n *\n * `IConnection` is an interface ttype who represents connection information of\n * the remote HTTP server. You can target the remote HTTP server by wring the\n * {@link IHttpConnection.host} variable down. Also, you can configure special\n * header values by specializing the {@link IHttpConnection.headers} variable.\n *\n * If the remote HTTP server encrypts or decrypts its body data through the\n * AES-128/256 algorithm, specify the {@link IHttpConnection.encryption} with\n * {@link IEncryptionPassword} or {@link IEncryptionPassword.Closure} variable.\n *\n * @author Jenogho Nam - https://github.com/samchon\n * @author Seungjun We - https://github.com/SeungjunWe\n */\nexport interface IHttpConnection {\n /** Host address of the remote HTTP server. */\n host: string;\n /** Header values delivered to the remote HTTP server. */\n headers?: Record<string, IHttpConnection.HeaderValue>;\n /** Additional options for the `fetch` function. */\n options?: IHttpConnection.IOptions;\n /**\n * Custom fetch function.\n *\n * If you want to use custom `fetch` function instead of built-in, assign your\n * custom `fetch` function into this property.\n *\n * For reference, the `fetch` function has started to be supported since\n * version 20 of NodeJS. Therefore, if you are using NodeJS version 19 or\n * lower, you have to assign the `node-fetch` module into this property.\n */\n fetch?: typeof fetch;\n}\nexport declare namespace IHttpConnection {\n /**\n * Additional options for the `fetch` function.\n *\n * Almost same with {@link RequestInit} type of the {@link fetch} function, but\n * `body`, `headers` and `method` properties are omitted.\n *\n * The reason why defining duplicated definition of {@link RequestInit} is for\n * legacy NodeJS environments, which does not have the {@link fetch} function\n * type.\n */\n interface IOptions {\n /**\n * A string indicating how the request will interact with the browser's\n * cache to set request's cache.\n */\n cache?: \"default\" | \"force-cache\" | \"no-cache\" | \"no-store\" | \"only-if-cached\" | \"reload\";\n /**\n * A string indicating whether credentials will be sent with the request\n * always, never, or only when sent to a same-origin URL. Sets request's\n * credentials.\n */\n credentials?: \"omit\" | \"same-origin\" | \"include\";\n /**\n * A cryptographic hash of the resource to be fetched by request.\n *\n * Sets request's integrity.\n */\n integrity?: string;\n /** A boolean to set request's keepalive. */\n keepalive?: boolean;\n /**\n * A string to indicate whether the request will use CORS, or will be\n * restricted to same-origin URLs.\n *\n * Sets request's mode.\n */\n mode?: \"cors\" | \"navigate\" | \"no-cors\" | \"same-origin\";\n /**\n * A string indicating whether request follows redirects, results in an\n * error upon encountering a redirect, or returns the redirect (in an opaque\n * fashion).\n *\n * Sets request's redirect.\n */\n redirect?: \"error\" | \"follow\" | \"manual\";\n /**\n * A string whose value is a same-origin URL, \"about:client\", or the empty\n * string, to set request's referrer.\n */\n referrer?: string;\n /** A referrer policy to set request's referrerPolicy. */\n referrerPolicy?: \"\" | \"no-referrer\" | \"no-referrer-when-downgrade\" | \"origin\" | \"origin-when-cross-origin\" | \"same-origin\" | \"strict-origin\" | \"strict-origin-when-cross-origin\" | \"unsafe-url\";\n /** An AbortSignal to set request's signal. */\n signal?: AbortSignal | null;\n }\n /**\n * Type of allowed header values.\n *\n * Only atomic or array of atomic values are allowed.\n */\n type HeaderValue = string | boolean | number | bigint | string | Array<boolean> | Array<number> | Array<bigint> | Array<number> | Array<string>;\n}\n",
12507
+ "node_modules/@samchon/openapi/lib/structures/IHttpLlmApplication.d.ts": "import { OpenApi } from \"../OpenApi\";\nimport { IHttpLlmFunction } from \"./IHttpLlmFunction\";\nimport { IHttpMigrateRoute } from \"./IHttpMigrateRoute\";\nimport { ILlmApplication } from \"./ILlmApplication\";\nimport { ILlmSchema } from \"./ILlmSchema\";\n/**\n * Application of LLM function call from OpenAPI document.\n *\n * `IHttpLlmApplication` is a data structure representing a collection of\n * {@link IHttpLlmFunction LLM function calling schemas} composed from the\n * {@link OpenApi.IDocument OpenAPI document} and its\n * {@link OpenApi.IOperation operation} metadata. It also contains\n * {@link IHttpLlmApplication.errors failed operations}, and adjusted\n * {@link IHttpLlmApplication.options options} during the `IHttpLlmApplication`\n * construction.\n *\n * About the {@link OpenApi.IOperation API operations}, they are converted to\n * {@link IHttpLlmFunction} type which represents LLM function calling schema. By\n * the way, if there're some types which does not supported by LLM, the\n * operation would be failed and pushed into the\n * {@link IHttpLlmApplication.errors}. Otherwise not, the operation would be\n * successfully converted to {@link IHttpLlmFunction} and its type schemas are\n * downgraded to {@link OpenApiV3.IJsonSchema} and converted to\n * {@link ILlmSchemaV3}.\n *\n * For reference, the arguments type is composed by below rule.\n *\n * - `pathParameters`: Path parameters of {@link IHttpMigrateRoute.parameters}\n * - `query`: Query parameter of {@link IHttpMigrateRoute.query}\n * - `body`: Body parameter of {@link IHttpMigrateRoute.body}\n *\n * ```typescript\n * {\n * ...pathParameters,\n * query,\n * body,\n * }\n * ```\n *\n * By the way, there can be some parameters (or their nested properties) which\n * must be composed by Human, not by LLM. File uploading feature or some\n * sensitive information like secret key (password) are the examples. In that\n * case, you can separate the function parameters to both LLM and Human sides by\n * configuring the {@link IHttpLlmApplication.IOptions.separate} property. The\n * separated parameters are assigned to the {@link IHttpLlmFunction.separated}\n * property.\n *\n * For reference, the actual function call execution is not by LLM, but by you.\n * When the LLM selects the proper function and fills the arguments, you just\n * call the function by {@link HttpLlm.execute} with the LLM prepared arguments.\n * And then informs the return value to the LLM by system prompt. The LLM will\n * continue the next conversation based on the return value.\n *\n * Additionally, if you've configured\n * {@link IHttpLlmApplication.IOptions.separate}, so that the parameters are\n * separated to Human and LLM sides, you can merge these humand and LLM sides'\n * parameters into one through {@link HttpLlm.mergeParameters} before the actual\n * LLM function call execution.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IHttpLlmApplication<Model extends ILlmSchema.Model> {\n /** Model of the target LLM. */\n model: Model;\n /**\n * List of function metadata.\n *\n * List of function metadata that can be used for the LLM function call.\n *\n * When you want to execute the function with LLM constructed arguments, you\n * can do it through {@link LlmFetcher.execute} function.\n */\n functions: IHttpLlmFunction<Model>[];\n /** List of errors occurred during the composition. */\n errors: IHttpLlmApplication.IError[];\n /** Configuration for the application. */\n options: IHttpLlmApplication.IOptions<Model>;\n}\nexport declare namespace IHttpLlmApplication {\n /** Options for the HTTP LLM application schema composition. */\n type IOptions<Model extends ILlmSchema.Model> = ILlmApplication.IOptions<Model> & {\n /**\n * Maximum length of function name.\n *\n * When a function name is longer than this value, it will be truncated.\n *\n * If not possible to truncate due to the duplication, the function name\n * would be modified to randomly generated (UUID v4).\n *\n * @default 64\n */\n maxLength?: number;\n };\n /** Error occurred in the composition. */\n interface IError {\n /** HTTP method of the endpoint. */\n method: \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\" | \"head\";\n /** Path of the endpoint. */\n path: string;\n /** Error messages. */\n messages: string[];\n /**\n * Get the Swagger operation metadata.\n *\n * Get the Swagger operation metadata, of the source.\n */\n operation: () => OpenApi.IOperation;\n /**\n * Get the migration route metadata.\n *\n * Get the migration route metadata, of the source.\n *\n * If the property returns `undefined`, it means that the error has been\n * occurred in the migration level, not of LLM application composition.\n *\n * @returns Migration route metadata.\n */\n route: () => IHttpMigrateRoute | undefined;\n }\n}\n",
12508
+ "node_modules/@samchon/openapi/lib/structures/IHttpLlmController.d.ts": "import { IHttpConnection } from \"./IHttpConnection\";\nimport { IHttpLlmApplication } from \"./IHttpLlmApplication\";\nimport { IHttpLlmFunction } from \"./IHttpLlmFunction\";\nimport { IHttpResponse } from \"./IHttpResponse\";\nimport { ILlmSchema } from \"./ILlmSchema\";\n/**\n * Controller of HTTP LLM function calling.\n *\n * `IHttpLlmController` is a controller of HTTP LLM function calling, containing\n * not only the {@link IHttpLlmApplication application} of\n * {@link IHttpLlmFunction function calling schemas}, but also\n * {@link name identifier name} of the application and {@link execute executor} of\n * its HTTP functions.\n *\n * Here is an example of using `IHttpLlmController` type for AI agent\n * development of performing AI function calling to e-commerce API functions\n * through `@agentica`.\n *\n * ```typescript\n * import { Agentica } from \"@agentica/core\";\n * import { HttpLlm, OpenApi } from \"@samchon/openapi\";\n *\n * const agentica = new Agentica({\n * model: \"chatgpt\",\n * vendor: {\n * api: new OpenAI({ apiKey: \"********\" }),\n * model: \"gpt-4o-mini\",\n * },\n * controllers: [\n * {\n * protocol: \"http\",\n * name: \"shopping\",\n * application: HttpLlm.application(\n * model: \"chatgpt\",\n * document: await fetch(\n * \"https://shopping-be.wrtn.io/editor/swagger.json\",\n * ).then((r) => r.json()),\n * ),\n * connection: {\n * host: \"https://shopping-be.wrtn.io\",\n * headers: {\n * Authorization: \"Bearer ********\",\n * },\n * },\n * },\n * ],\n * });\n * await agentica.conversate(\"I wanna buy a new phone.\");\n * ```\n *\n * For reference, this `IHttpLlmController` type is designed for HTTP API\n * servers. If you want to make a controller of another {@link protocol} like MCP\n * or TypeScript, use below types instead:\n *\n * - {@link IMcpLlmController} for MCP\n * - {@link ILlmController} for TypeScript\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Model Type of the LLM model\n * @reference https://wrtnlabs.io/agentica/docs/core/controller/swagger/\n */\nexport interface IHttpLlmController<Model extends ILlmSchema.Model> {\n /** Protocol discriminator. */\n protocol: \"http\";\n /** Identifier name of the controller. */\n name: string;\n /** Application schema of function calling. */\n application: IHttpLlmApplication<Model>;\n /**\n * Connection to the server.\n *\n * Connection to the API server including the URL and headers.\n */\n connection: IHttpConnection;\n /**\n * Executor of the API function.\n *\n * Default executor is {@link HttpLlm.execute} function, and you can override\n * it with your own function.\n *\n * @param props Properties of the API function call\n * @returns HTTP response of the API function call\n */\n execute?: undefined | ((props: {\n /** Connection to the server. */\n connection: IHttpConnection;\n /** Application schema. */\n application: IHttpLlmApplication<Model>;\n /** Function schema. */\n function: IHttpLlmFunction<Model>;\n /**\n * Arguments of the function calling.\n *\n * It is an object of key-value pairs of the API function's parameters.\n * The property keys are composed by below rules:\n *\n * - Parameter names\n * - Query parameter as an object type if exists\n * - Body parameter if exists\n */\n arguments: object;\n }) => Promise<IHttpResponse>);\n}\n",
12509
+ "node_modules/@samchon/openapi/lib/structures/IHttpLlmFunction.d.ts": "import { OpenApi } from \"../OpenApi\";\nimport { IHttpMigrateRoute } from \"./IHttpMigrateRoute\";\nimport { ILlmSchema } from \"./ILlmSchema\";\nimport { IValidation } from \"./IValidation\";\n/**\n * LLM function calling schema from HTTP (OpenAPI) operation.\n *\n * `IHttpLlmFunction` is a data structure representing a function converted from\n * the {@link OpenApi.IOperation OpenAPI operation}, used for the LLM (Large\n * Language Model) function calling. It's a typical RPC (Remote Procedure Call)\n * structure containing the function {@link name}, {@link parameters}, and\n * {@link output return type}.\n *\n * If you provide this `IHttpLlmFunction` data to the LLM provider like\n * \"OpenAI\", the \"OpenAI\" will compose a function arguments by analyzing\n * conversations with the user. With the LLM composed arguments, you can execute\n * the function through {@link LlmFetcher.execute} and get the result.\n *\n * For reference, different between `IHttpLlmFunction` and its origin source\n * {@link OpenApi.IOperation} is, `IHttpLlmFunction` has converted every type\n * schema information from {@link OpenApi.IJsonSchema} to {@link ILlmSchemaV3} to\n * escape {@link OpenApi.IJsonSchema.IReference reference types}, and downgrade\n * the version of the JSON schema to OpenAPI 3.0. It's because LLM function call\n * feature cannot understand both reference types and OpenAPI 3.1\n * specification.\n *\n * Additionally, the properties' rule is:\n *\n * - `pathParameters`: Path parameters of {@link OpenApi.IOperation.parameters}\n * - `query`: Query parameter of {@link IHttpMigrateRoute.query}\n * - `body`: Body parameter of {@link IHttpMigrateRoute.body}\n *\n * ```typescript\n * {\n * ...pathParameters,\n * query,\n * body,\n * }\n * ```\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @reference https://platform.openai.com/docs/guides/function-calling\n */\nexport interface IHttpLlmFunction<Model extends ILlmSchema.Model> {\n /** HTTP method of the endpoint. */\n method: \"get\" | \"post\" | \"patch\" | \"put\" | \"delete\";\n /** Path of the endpoint. */\n path: string;\n /**\n * Representative name of the function.\n *\n * The `name` is a repsentative name identifying the function in the\n * {@link IHttpLlmApplication}. The `name` value is just composed by joining\n * the {@link IHttpMigrateRoute.accessor} by underscore `_` character.\n *\n * Here is the composition rule of the {@link IHttpMigrateRoute.accessor}:\n *\n * > The `accessor` is composed with the following rules. At first, namespaces\n * > are composed by static directory names in the {@link path}. Parametric\n * > symbols represented by `:param` or `{param}` cannot be a part of the\n * > namespace.\n *\n * > Instead, they would be a part of the function name. The function name is\n * > composed with the {@link method HTTP method} and parametric symbols like\n * > `getByParam` or `postByParam`. If there are multiple path parameters, they\n * > would be concatenated by `And` like `getByParam1AndParam2`.\n *\n * > For refefence, if the {@link operation}'s {@link method} is `delete`, the\n * > function name would be replaced to `erase` instead of `delete`. It is the\n * > reason why the `delete` is a reserved keyword in many programming\n * > languages.\n *\n * > - Example 1\n *\n * > - Path: `POST /shopping/sellers/sales`\n * > - Accessor: `shopping.sellers.sales.post`\n * > - Example 2\n *\n * > - Endpoint: `GET\n * > /shoppings/sellers/sales/:saleId/reviews/:reviewId/comments/:id\n * > - Accessor:\n * > `shoppings.sellers.sales.reviews.getBySaleIdAndReviewIdAndCommentId`\n *\n * @maxLength 64\n */\n name: string;\n /**\n * List of parameter types.\n *\n * If you've configured {@link IHttpLlmApplication.IOptions.keyword} as `true`,\n * number of {@link IHttpLlmFunction.parameters} are always 1 and the first\n * parameter's type is always {@link ILlmSchemaV3.IObject}. The properties'\n * rule is:\n *\n * - `pathParameters`: Path parameters of {@link IHttpMigrateRoute.parameters}\n * - `query`: Query parameter of {@link IHttpMigrateRoute.query}\n * - `body`: Body parameter of {@link IHttpMigrateRoute.body}\n *\n * ```typescript\n * {\n * ...pathParameters,\n * query,\n * body,\n * }\n * ```\n *\n * Otherwise, the parameters would be multiple, and the sequence of the\n * parameters are following below rules:\n *\n * ```typescript\n * [\n * ...pathParameters,\n * ...(query ? [query] : []),\n * ...(body ? [body] : []),\n * ];\n * ```\n */\n parameters: ILlmSchema.ModelParameters[Model];\n /**\n * Collection of separated parameters.\n *\n * Filled only when {@link IHttpLlmApplication.IOptions.separate} is\n * configured.\n */\n separated?: IHttpLlmFunction.ISeparated<Model>;\n /**\n * Expected return type.\n *\n * If the target operation returns nothing (`void`), the `output` would be\n * `undefined`.\n */\n output?: ILlmSchema.ModelSchema[Model] | undefined;\n /**\n * Description of the function.\n *\n * `IHttpLlmFunction.description` is composed by below rule:\n *\n * 1. Starts from the {@link OpenApi.IOperation.summary} paragraph.\n * 2. The next paragraphs are filled with the\n * {@link OpenApi.IOperation.description}. By the way, if the first\n * paragraph of {@link OpenApi.IOperation.description} is same with the\n * {@link OpenApi.IOperation.summary}, it would not be duplicated.\n * 3. Parameters' descriptions are added with `@param` tag.\n * 4. {@link OpenApi.IOperation.security Security requirements} are added with\n * `@security` tag.\n * 5. Tag names are added with `@tag` tag.\n * 6. If {@link OpenApi.IOperation.deprecated}, `@deprecated` tag is added.\n *\n * For reference, the `description` is very important property to teach the\n * purpose of the function to the LLM (Language Large Model), and LLM actually\n * determines which function to call by the description.\n *\n * Also, when the LLM conversates with the user, the `description` is used to\n * explain the function to the user. Therefore, the `description` property has\n * the highest priority, and you have to consider it.\n */\n description?: string | undefined;\n /**\n * Whether the function is deprecated or not.\n *\n * If the `deprecated` is `true`, the function is not recommended to use.\n *\n * LLM (Large Language Model) may not use the deprecated function.\n */\n deprecated?: boolean | undefined;\n /**\n * Category tags for the function.\n *\n * Same with {@link OpenApi.IOperation.tags} indicating the category of the\n * function.\n */\n tags?: string[];\n /**\n * Validate function of the arguments.\n *\n * You know what? LLM (Large Language Model) like OpenAI takes a lot of\n * mistakes when composing arguments in function calling. Even though `number`\n * like simple type is defined in the {@link parameters} schema, LLM often\n * fills it just by a `string` typed value.\n *\n * In that case, you have to give a validation feedback to the LLM by using\n * this `validate` function. The `validate` function will return detailed\n * information about every type errors about the arguments.\n *\n * And in my experience, OpenAI's `gpt-4o-mini` model tends to construct an\n * invalid function calling arguments at the first trial about 50% of the\n * time. However, if correct it through this `validate` function, the success\n * rate soars to 99% at the second trial, and I've never failed at the third\n * trial.\n *\n * > If you've {@link separated} parameters, use the\n * > {@link IHttpLlmFunction.ISeparated.validate} function instead when\n * > validating the LLM composed arguments.\n *\n * > In that case, This `validate` function would be meaningful only when you've\n * > merged the LLM and human composed arguments by\n * > {@link HttpLlm.mergeParameters} function.\n *\n * @param args Arguments to validate.\n * @returns Validation result\n */\n validate: (args: unknown) => IValidation<unknown>;\n /**\n * Get the Swagger operation metadata.\n *\n * Get the Swagger operation metadata, of the source.\n *\n * @returns Swagger operation metadata.\n */\n operation: () => OpenApi.IOperation;\n /**\n * Get the migration route metadata.\n *\n * Get the migration route metadata, of the source.\n *\n * @returns Migration route metadata.\n */\n route: () => IHttpMigrateRoute;\n}\nexport declare namespace IHttpLlmFunction {\n /** Collection of separated parameters. */\n interface ISeparated<Model extends ILlmSchema.Model> {\n /**\n * Parameters that would be composed by the LLM.\n *\n * Even though no property exists in the LLM side, the `llm` property would\n * have at least empty object type.\n */\n llm: ILlmSchema.ModelParameters[Model];\n /** Parameters that would be composed by the human. */\n human: ILlmSchema.ModelParameters[Model] | null;\n /**\n * Validate function of the separated arguments.\n *\n * If LLM part of separated parameters has some properties, this `validate`\n * function will be filled for the {@link llm} type validation.\n *\n * > You know what? LLM (Large Language Model) like OpenAI takes a lot of\n * > mistakes when composing arguments in function calling. Even though\n * > `number` like simple type is defined in the {@link parameters} schema, LLM\n * > often fills it just by a `string` typed value.\n *\n * > In that case, you have to give a validation feedback to the LLM by using\n * > this `validate` function. The `validate` function will return detailed\n * > information about every type errors about the arguments.\n *\n * > And in my experience, OpenAI's `gpt-4o-mini` model tends to construct an\n * > invalid function calling arguments at the first trial about 50% of the\n * > time. However, if correct it through this `validate` function, the\n * > success rate soars to 99% at the second trial, and I've never failed at\n * > the third trial.\n *\n * @param args Arguments to validate\n * @returns Validate result\n */\n validate?: ((args: unknown) => IValidation<unknown>) | undefined;\n }\n}\n",
12510
+ "node_modules/@samchon/openapi/lib/structures/IHttpMigrateApplication.d.ts": "import { OpenApi } from \"../OpenApi\";\nimport { IHttpMigrateRoute } from \"./IHttpMigrateRoute\";\n/**\n * Document of migration.\n *\n * The `IHttpMigrateApplication` interface is an application migrated from\n * {@link OpenAPI.IDocument OpenAPI document} for supporting the OpenAPI\n * generator libraries which compose RPC (Remote Procedure Call) functions from\n * the {@link OpenAPI.IOperation OpenAPI operations}.\n *\n * As the `IHttpMigrateApplication` and {@link IHttpMigrateRoute} have a lot of\n * special stories, when you're developing OpenAPI generator library, please\n * read their descriptions carefully including the description of properties.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IHttpMigrateApplication {\n /** List of routes for migration. */\n routes: IHttpMigrateRoute[];\n /** List of errors occurred during the migration. */\n errors: IHttpMigrateApplication.IError[];\n /** Source OpenAPI document. */\n document: () => OpenApi.IDocument;\n}\nexport declare namespace IHttpMigrateApplication {\n /** Error of migration in the operation level. */\n interface IError {\n /** Target operation causing the error. */\n operation: () => OpenApi.IOperation;\n /**\n * Method of the operation.\n *\n * If the {@link OpenApi.IOperation.method} is not one of below type values,\n * the operation would be ignored in the migration process for the RPC\n * (Remote Procedure Call) function.\n */\n method: \"head\" | \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\n /** Original path from the OpenAPI document. */\n path: string;\n /** List of error messages (reasons). */\n messages: string[];\n }\n}\n",
12511
+ "node_modules/@samchon/openapi/lib/structures/IHttpMigrateRoute.d.ts": "import { OpenApi } from \"../OpenApi\";\n/**\n * Route information for migration.\n *\n * The `IHttpMigrateRoute` is a structure representing a route information for\n * OpenAPI generator libraries, which composes an RPC (Remote Procedure Call)\n * function from the {@link OpenApi.IOperation OpenAPI operation}.\n *\n * As the `IHttpMigrateRoute` has a lot of special stories, when you're\n * developing OpenAPI generator library, please read its description carefully\n * including the description of its properties.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IHttpMigrateRoute {\n /**\n * Method of the route.\n *\n * If the {@link OpenApi.IOperation.method} is not one of below type values,\n * the operation would be ignored in the migration process for the RPC (Remote\n * Procedure Call) function.\n */\n method: \"head\" | \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\n /** Original path from the OpenAPI document. */\n path: string;\n /**\n * Emended path for OpenAPI generator libraries.\n *\n * The difference between {@link path} is:\n *\n * 1. Path parameters are replaced with `:param` format.\n * 2. Always starts with `/`.\n */\n emendedPath: string;\n /**\n * Accessor for the route.\n *\n * The `accessor` is a list of string values that are representing how to\n * access to the OpenAPI generated RPC (Remote Procedure Call) function\n * through namespace(s).\n *\n * The `accessor` is composed with the following rules. At first, namespaces\n * are composed by static directory names in the {@link path}. Parametric\n * symbols represented by `:param` or `{param}` cannot be a part of the\n * namespace.\n *\n * Instead, they would be a part of the function name. The function name is\n * composed with the {@link method HTTP method} and parametric symbols like\n * `getByParam` or `postByParam`. If there are multiple path parameters, they\n * would be concatenated by `And` like `getByParam1AndParam2`.\n *\n * For refefence, if the {@link operation}'s {@link method} is `delete`, the\n * function name would be replaced to `erase` instead of `delete`. It is the\n * reason why the `delete` is a reserved keyword in many programming\n * languages.\n *\n * - Example 1\n *\n * - Path: `POST /shopping/sellers/sales`\n * - Accessor: `shopping.sellers.sales.post`\n * - Example 2\n *\n * - Endpoint: `GET\n * /shoppings/sellers/sales/:saleId/reviews/:reviewId/comments/:id\n * - Accessor:\n * `shoppings.sellers.sales.reviews.getBySaleIdAndReviewIdAndCommentId`\n */\n accessor: string[];\n /**\n * List of path parameters.\n *\n * Note that, not a list of every parameters, but only path parameters.\n */\n parameters: IHttpMigrateRoute.IParameter[];\n /**\n * Metadata of headers.\n *\n * The `headers` property is a metadata of HTTP request headers for RPC\n * function, including the parameter variable name and schema.\n *\n * Also, its {@link IHttpMigrateRoute.IHeaders.schema} is always object or\n * reference to object. Even though the original\n * {@link OpenApi.IOperation OpenAPI operation}'s headers are separated to\n * atomic typed properties, the `headers` property forcibly combines them into\n * a single object type.\n *\n * For reference, if the `headers` property has been converted to an object\n * type forcibly, its property {@link IHttpMigrateRoute.IHeaders.name name} and\n * {@link IHttpMigrateRoute.IHeaders.key key} are always \"headers\".\n */\n headers: IHttpMigrateRoute.IHeaders | null;\n /**\n * Metadata of query values.\n *\n * The `query` property is a metadata of HTTP request query values for RPC\n * function, including the parameter variable name and schema.\n *\n * Also, its {@link IHttpMigrateRoute.IQuery.schema} is always object or\n * reference to object. Even though the original\n * {@link OpenApi.IOperation OpenAPI operation}'s query parameters are\n * separated to atomic typed properties, the `query` property forcibly\n * combines them into a single object type.\n *\n * For reference, if the `query` property has been converted to an object type\n * forcibly, its property {@link IHttpMigrateRoute.IQuery.name name} and\n * {@link IHttpMigrateRoute.IQuery.key key} are always \"headers\".\n */\n query: IHttpMigrateRoute.IQuery | null;\n /**\n * Metadata of request body.\n *\n * The `body` property is a metadata of HTTP request body for RPC function,\n * including the parameter variable name, content type, and schema.\n *\n * If the `body` property is `null`, it means the operation does not require\n * the request body data.\n */\n body: IHttpMigrateRoute.IBody | null;\n /**\n * Metadata of response body for success case.\n *\n * The `success` property is a metadata of HTTP response body for RPC\n * function, including content type, and schema when status code is `200` or\n * `201`.\n *\n * If the `success` property is `null`, it means the operation does not have\n * the response body data. In other words, the RPC function would return\n * `void`.\n */\n success: IHttpMigrateRoute.ISuccess | null;\n /**\n * Metadata of response body for exceptional status cases.\n *\n * The `exceptions` property is a metadata of HTTP response body for RPC\n * function, including content type, and schema when status code is not `200`\n * or `201`.\n *\n * The key of the `exceptions` property is the status code. It may be a\n * stringified number, but sometimes it could be a string like \"default\",\n * because the OpenAPI document allows the status code to be a string.\n */\n exceptions: Record<string, IHttpMigrateRoute.IException>;\n /**\n * Description comment for the route function.\n *\n * The `comment` is a function returning description comment for the RPC\n * function of OpenAPI generated. The comment is composed with the following\n * rules:\n *\n * 1. Starts from the {@link OpenApi.IOperation.summary} paragraph.\n * 2. The next paragraphs are filled with {@link OpenApi.IOperation.description}.\n * 3. Parameter descriptions are added with `@param` tag.\n * 4. Security requirements are added with `@security` tag.\n * 5. Tag names are added with `@tag` tag.\n * 6. If {@link OpenApi.IOperation.deprecated}, `@deprecated` tag is added.\n */\n comment: () => string;\n /**\n * Original operation from the OpenAPI document.\n *\n * The `operation` is a function returning the original\n * {@link OpenApi.IOperation} from the {@link OpenAPI} document.\n */\n operation: () => OpenApi.IOperation;\n}\nexport declare namespace IHttpMigrateRoute {\n /** Metadata of path parameter. */\n interface IParameter {\n /** Name of the path parameter. */\n name: string;\n /** Key of the path parameter. */\n key: string;\n /** Metadata of path parameter data type. */\n schema: OpenApi.IJsonSchema;\n /**\n * Original parameter info from the OpenAPI document.\n *\n * The `parameter` is a function returning the original\n * {@link OpenApi.IOperation.IParameter} from the {@link OpenAPI} document.\n */\n parameter: () => OpenApi.IOperation.IParameter;\n }\n /** Metadata of headers. */\n interface IHeaders {\n /** Name of the headers parameter. */\n name: string;\n /** Key of the headers parameter. */\n key: string;\n /** Metadata of headers data type. */\n schema: OpenApi.IJsonSchema;\n title: () => string | undefined;\n description: () => string | undefined;\n example: () => any | undefined;\n examples: () => Record<string, any> | undefined;\n }\n /** Metadata of query values. */\n interface IQuery {\n name: string;\n key: string;\n schema: OpenApi.IJsonSchema;\n title: () => string | undefined;\n description: () => string | undefined;\n example: () => any | undefined;\n examples: () => Record<string, any> | undefined;\n }\n /** Metadata of request body. */\n interface IBody {\n /** Name of the body parameter. */\n name: string;\n /** Key of the body parameter. */\n key: string;\n /** Content type of the body. */\n type: \"text/plain\" | \"application/json\" | \"application/x-www-form-urlencoded\" | \"multipart/form-data\";\n /** Metadata of response body data type. */\n schema: OpenApi.IJsonSchema;\n /** Description comment for the request/response body. */\n description: () => string | undefined;\n /** Media type of the request/response body. */\n media: () => OpenApi.IOperation.IMediaType;\n /** Whether the body is encrypted or not. */\n \"x-nestia-encrypted\"?: boolean;\n }\n /** Metadata of response body. */\n interface ISuccess extends IBody {\n /** Status code of the response. */\n status: string;\n }\n /** Metadata of response body for exceptional status cases. */\n interface IException {\n /** Metadata of response body data type. */\n schema: OpenApi.IJsonSchema;\n /** Description comment for the exception. */\n response: () => OpenApi.IOperation.IResponse;\n /** Media type of the response body. */\n media: () => OpenApi.IOperation.IMediaType;\n }\n}\n",
12512
+ "node_modules/@samchon/openapi/lib/structures/IHttpResponse.d.ts": "/**\n * Represents an HTTP response.\n *\n * The `IHttpResponse` interface represents an HTTP response.\n *\n * It contains the {@link status} code, {@link headers}, and {@link body} of the\n * response.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IHttpResponse {\n /** Status code of the response. */\n status: number;\n /** Headers of the response. */\n headers: Record<string, string | string[]>;\n /** Body of the response. */\n body: unknown;\n}\n",
12513
+ "node_modules/@samchon/openapi/lib/structures/IJsonSchemaAttribute.d.ts": "/**\n * Common attributes for JSON schema types.\n *\n * `IJsonSchemaAttribute` is a common interface for all JSON schema types\n * supported in here `@samchon/openapi`. Here is the list of affected JSON\n * schema types in `@samchon/openapi`, and you can extend the interface by\n * declaring module augmentation.\n *\n * - {@link OpenApi.IJsonSchema}\n * - {@link OpenApiV3_1.IJsonSchema}\n * - {@link OpenApiV3.IJsonSchema}\n * - {@link SwaggerV2.IJsonSchema}\n * - {@link IChatGptSchema}\n * - {@link IClaudeSchema}\n * - {@link IGeminiSchema}\n * - {@link ILlmSchemaV3}\n * - {@link ILlmSchemaV3_1}\n *\n * For example, if you extend the `IJsonSchemaAttribute` interface like below,\n * every JSON schema types in `@samchon/openapi` will have a new custom\n * attribute `x-wrtn-placeholder`.\n *\n * Also, if you augment the nested type like `IJsonSchemaAttribute.IString`, you\n * can add the custom attribute to every string types in the JSON schema. In the\n * below example case, every string types will have a new custom attribute\n * `x-wrtn-secret-key`.\n *\n * ```typescript\n * declare module \"@samchon/openapi\" {\n * export interface IJsonSchemaAttribute {\n * /// Placeholder value for frontend application\n * ///\n * /// Placeholder ia label shown in the input field as a hint.\n * /// For example, when an email input field exists, the label\n * /// value would be \"Insert your email address here\".\n * \"x-wrtn-placeholder\"?: string;\n * }\n * export namespace IJsonSchemaAttribute {\n * export interface IString {\n * /// Secret key for the schema.\n * ///\n * /// `x-wrtn-secret-key` is a property means a secret key\n * /// that is required for the target API endpoint calling.\n * /// If the secret key is not filled, the API call would\n * /// be failed.\n * \"x-wrtn-secret-key\"?: string;\n * }\n * }\n * }\n * ```\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IJsonSchemaAttribute {\n /** Title of the schema. */\n title?: string;\n /** Detailed description of the schema. */\n description?: string;\n /** Whether the type is deprecated or not. */\n deprecated?: boolean;\n /** Example value. */\n example?: any;\n /** List of example values as key-value pairs. */\n examples?: Record<string, any>;\n}\nexport declare namespace IJsonSchemaAttribute {\n /** Common attributes for boolean types. */\n export interface IBoolean extends ISignificant<\"boolean\"> {\n }\n /** Common attributes for integer types. */\n export interface IInteger extends ISignificant<\"integer\"> {\n }\n /** Common attributes for number types. */\n export interface INumber extends ISignificant<\"number\"> {\n }\n /** Common attributes for string types. */\n export interface IString extends ISignificant<\"string\"> {\n }\n /** Common attributes for object types. */\n export interface IObject extends ISignificant<\"object\"> {\n }\n /** Common attributes for array types. */\n export interface IArray extends ISignificant<\"array\"> {\n }\n /** Common attributes for null types. */\n export interface INull extends ISignificant<\"null\"> {\n }\n /** Common attributes for unknown types. */\n export interface IUnknown extends IJsonSchemaAttribute {\n /** Type is never be defined. */\n type?: undefined;\n }\n /** Significant attributes that can be applied to the most types. */\n interface ISignificant<Type extends string> extends IJsonSchemaAttribute {\n /** Discriminator value of the type. */\n type: Type;\n }\n export {};\n}\n",
12514
+ "node_modules/@samchon/openapi/lib/structures/ILlamaSchema.d.ts": "import { ILlmSchemaV3_1 } from \"./ILlmSchemaV3_1\";\n/**\n * Type schema info of the Llama.\n *\n * `ILlamaSchema` is a type schema info of the Llama function calling.\n *\n * `ILlamaSchema` seems fully supporting the JSON schema definition of the\n * OpenAPI v3.1 specification; {@link OpenApiV3_1.IJsonSchema}. By the way, as\n * the {@link OpenApiV3_1.IJsonSchema} has too much ambiguous and duplicated\n * expressions, `ILlamaSchema` is designed to be clear and simple for the Llama\n * function calling, by utilizng {@link ILlmSchemaV3_1} which has been\n * transformed from the {@link OpenApi.IJsonSchema} for the convenience and\n * clarity.\n *\n * Therefore, `ILlamaSchema` does not follow the entire specification of the\n * OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n * list of how `ILlmSchemaV3_1` is different with the OpenAPI v3.1 JSON schema.\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property:\n * {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n * - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to {@link ILlamaSchema.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link ILlamaSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n * {@link ILlamaSchema.IReference}\n * - Do not support {@link OpenApiV3_1.IJsonSchema.ITuple} type\n *\n * If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema\n * specification,\n *\n * - {@link ILlamaSchema.IParameters.$defs} instead of the\n * {@link OpenApi.IJsonSchema.schemas}\n * - Do not support {@link OpenApi.IJsonSchema.ITuple} type\n * - {@link ILlamaSchema.properties} and {@link ILlamaSchema.required} are always\n * defined\n *\n * For reference, if you've composed the `ILlamaSchema` type with the\n * {@link ILlamaSchema.IConfig.reference} `false` option (default is `false`),\n * only the recursive named types would be archived into the\n * {@link ILlamaSchema.IParameters.$defs}, and the others would be escaped from\n * the {@link ILlamaSchema.IReference} type.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @reference https://www.llama.com/docs/model-cards-and-prompt-formats/llama3_2\n * @reference https://github.com/ggerganov/llama.cpp/blob/master/examples/json_schema_to_grammar.py\n * @warning Specified not only by the official documentation, but also by my\n * experiments. Therefore, its definitions can be inaccurate or be\n * changed in the future. If you find any wrong or outdated definitions,\n * please let me know by issue.\n */\nexport type ILlamaSchema = ILlamaSchema.IConstant | ILlamaSchema.IBoolean | ILlamaSchema.IInteger | ILlamaSchema.INumber | ILlamaSchema.IString | ILlamaSchema.IArray | ILlamaSchema.IObject | ILlamaSchema.IReference | ILlamaSchema.IOneOf | ILlamaSchema.INull | ILlamaSchema.IUnknown;\nexport declare namespace ILlamaSchema {\n /** Configuration for Llama schema composition. */\n interface IConfig {\n /**\n * Whether to allow reference type in everywhere.\n *\n * If you configure this property to `false`, most of reference types\n * represented by {@link ILlamaSchema.IReference} would be escaped to a plain\n * type unless recursive type case.\n *\n * This is because some low sized LLM models does not understand the\n * reference type well, and even the large size LLM models sometimes occur\n * the hallucination.\n *\n * However, the reference type makes the schema size smaller, so that\n * reduces the LLM token cost. Therefore, if you're using the large size of\n * LLM model, and want to reduce the LLM token cost, you can configure this\n * property to `true`.\n *\n * @default true\n */\n reference: boolean;\n }\n /**\n * Type of the function parameters.\n *\n * `ILlamaSchema.IParameters` is a type defining a function's parameters as a\n * keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n type IParameters = ILlmSchemaV3_1.IParameters;\n /** Constant value type. */\n type IConstant = ILlmSchemaV3_1.IConstant;\n /** Boolean type info. */\n type IBoolean = ILlmSchemaV3_1.IBoolean;\n /** Integer type info. */\n type IInteger = ILlmSchemaV3_1.IInteger;\n /** Number (double) type info. */\n type INumber = ILlmSchemaV3_1.INumber;\n /** String type info. */\n type IString = ILlmSchemaV3_1.IString;\n /** Array type info. */\n type IArray = ILlmSchemaV3_1.IArray;\n /** Object type info. */\n type IObject = ILlmSchemaV3_1.IObject;\n /** Reference type directing named schema. */\n type IReference = ILlmSchemaV3_1.IReference;\n /**\n * Union type.\n *\n * `IOneOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has defined\n * `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly converts it to\n * `oneOf` type.\n */\n type IOneOf = ILlmSchemaV3_1.IOneOf;\n namespace IOneOf {\n /** Discriminator info of the union type. */\n type IDiscriminator = ILlmSchemaV3_1.IOneOf.IDiscriminator;\n }\n /** Null type. */\n type INull = ILlmSchemaV3_1.INull;\n /** Unknown, the `any` type. */\n type IUnknown = ILlmSchemaV3_1.IUnknown;\n}\n",
12515
+ "node_modules/@samchon/openapi/lib/structures/ILlmApplication.d.ts": "import { ILlmFunction } from \"./ILlmFunction\";\nimport { ILlmSchema } from \"./ILlmSchema\";\n/**\n * Application of LLM function calling.\n *\n * `ILlmApplication` is a data structure representing a collection of\n * {@link ILlmFunction LLM function calling schemas}, composed from a native\n * TypeScript class (or interface) type by the `typia.llm.application<App,\n * Model>()` function.\n *\n * Also, there can be some parameters (or their nested properties) which must be\n * composed by Human, not by LLM. File uploading feature or some sensitive\n * information like secret key (password) are the examples. In that case, you\n * can separate the function parameters to both LLM and human sides by\n * configuring the {@link ILlmApplication.IOptions.separate} property. The\n * separated parameters are assigned to the {@link ILlmFunction.separated}\n * property.\n *\n * For reference, when both LLM and Human filled parameter values to call, you\n * can merge them by calling the {@link HttpLlm.mergeParameters} function. In\n * other words, if you've configured the\n * {@link ILlmApplication.IOptions.separate} property, you have to merge the\n * separated parameters before the function call execution.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @reference https://platform.openai.com/docs/guides/function-calling\n */\nexport interface ILlmApplication<Model extends ILlmSchema.Model, Class extends object = any> {\n /** Model of the LLM. */\n model: Model;\n /**\n * List of function metadata.\n *\n * List of function metadata that can be used for the LLM function call.\n */\n functions: ILlmFunction<Model>[];\n /** Configuration for the application. */\n options: ILlmApplication.IOptions<Model>;\n /**\n * Class type, the source of the LLM application.\n *\n * This property is just for the generic type inference, and its value is\n * always `undefined`.\n */\n __class?: Class | undefined;\n}\nexport declare namespace ILlmApplication {\n /** Options for application composition. */\n type IOptions<Model extends ILlmSchema.Model> = {\n /**\n * Separator function for the parameters.\n *\n * When composing parameter arguments through LLM function call, there can\n * be a case that some parameters must be composed by human, or LLM cannot\n * understand the parameter.\n *\n * For example, if the parameter type has configured\n * {@link IGeminiSchema.IString.contentMediaType} which indicates file\n * uploading, it must be composed by human, not by LLM (Large Language\n * Model).\n *\n * In that case, if you configure this property with a function that\n * predicating whether the schema value must be composed by human or not,\n * the parameters would be separated into two parts.\n *\n * - {@link ILlmFunction.separated.llm}\n * - {@link ILlmFunction.separated.human}\n *\n * When writing the function, note that returning value `true` means to be a\n * human composing the value, and `false` means to LLM composing the value.\n * Also, when predicating the schema, it would better to utilize the\n * {@link GeminiTypeChecker} like features.\n *\n * @default null\n * @param schema Schema to be separated.\n * @returns Whether the schema value must be composed by human or not.\n */\n separate: null | ((schema: ILlmSchema.ModelSchema[Model]) => boolean);\n } & ILlmSchema.ModelConfig[Model];\n}\n",
12516
+ "node_modules/@samchon/openapi/lib/structures/ILlmController.d.ts": "import { ILlmApplication } from \"./ILlmApplication\";\nimport { ILlmSchema } from \"./ILlmSchema\";\n/**\n * Controller of LLM function calling.\n *\n * `ILlmController` is a controller of LLM function calling, containing not only\n * the {@link ILlmApplication application} of\n * {@link ILlmFunction function calling schemas}, but also\n * {@link name identifier name} of the application and {@link execute executor} of\n * its TypeScript class/interface functions.\n *\n * Here is an example of using `ILlmController` type for AI agent development of\n * performing AI function calling to mobile API classes/interfaces through\n * `typia` and `@agentica`.\n *\n * ```typescript\n * import { Agentica } from \"@agentica/core\";\n * import typia from \"typia\";\n *\n * const agentica = new Agentica({\n * model: \"chatgpt\",\n * vendor: {\n * api: new OpenAI({ apiKey: \"********\" }),\n * model: \"gpt-4o-mini\",\n * },\n * controllers: [\n * typia.llm.controller<ReactNativeFileSystem, \"chatgpt\">(\n * \"filesystem\",\n * new ReactNativeFileSystem(),\n * ),\n * typia.llm.controller<ReactNativeGallery, \"chatgpt\">(\n * \"gallery\",\n * new ReactNativeGallery(),\n * ),\n * ],\n * });\n * await agentica.conversate(\n * \"Organize photo collection and sort them into appropriate folders.\",\n * );\n * ```\n *\n * For reference, this `ILlmController` type is designed for TypeScript\n * classes/interfaces. If you want to make a controller of another\n * {@link protocol} like HTTP or MCP, use below types instead:\n *\n * - {@link IHttpLlmController} for HTTP\n * - {@link IMcpLlmController} for MCP\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Model Type of the LLM model\n * @template Class Class type of the function executor\n * @reference https://typia.io/docs/llm/controller/\n * @reference https://wrtnlabs.io/agentica/docs/core/controller/typescript/\n */\nexport interface ILlmController<Model extends ILlmSchema.Model, Class extends object = any> {\n /** Protocol discriminator. */\n protocol: \"class\";\n /** Identifier name of the controller. */\n name: string;\n /** Application schema of function calling. */\n application: ILlmApplication<Model, Class>;\n /**\n * Executor of the class function.\n *\n * Executor of the class function, by target class instance.\n */\n execute: Class;\n}\n",
12517
+ "node_modules/@samchon/openapi/lib/structures/ILlmFunction.d.ts": "import { ILlmSchema } from \"./ILlmSchema\";\nimport { IValidation } from \"./IValidation\";\n/**\n * LLM function metadata.\n *\n * `ILlmFunction` is an interface representing a function metadata, which has\n * been used for the LLM (Language Large Model) function calling. Also, it's a\n * function structure containing the function {@link name}, {@link parameters} and\n * {@link output return type}.\n *\n * If you provide this `ILlmFunction` data to the LLM provider like \"OpenAI\",\n * the \"OpenAI\" will compose a function arguments by analyzing conversations\n * with the user. With the LLM composed arguments, you can execute the function\n * and get the result.\n *\n * By the way, do not ensure that LLM will always provide the correct arguments.\n * The LLM of present age is not perfect, so that you would better to validate\n * the arguments before executing the function. I recommend you to validate the\n * arguments before execution by using\n * [`typia`](https://github.com/samchon/typia) library.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Model Type of the LLM model\n * @reference https://platform.openai.com/docs/guides/function-calling\n */\nexport interface ILlmFunction<Model extends ILlmSchema.Model> {\n /**\n * Representative name of the function.\n *\n * @maxLength 64\n */\n name: string;\n /** List of parameter types. */\n parameters: ILlmSchema.ModelParameters[Model];\n /**\n * Collection of separated parameters.\n *\n * Filled only when {@link ILlmApplication.IOptions.separate} is configured.\n */\n separated?: ILlmFunction.ISeparated<Model>;\n /**\n * Expected return type.\n *\n * If the function returns nothing (`void`), the `output` value would be\n * `undefined`.\n */\n output?: ILlmSchema.ModelSchema[Model];\n /**\n * Description of the function.\n *\n * For reference, the `description` is very important property to teach the\n * purpose of the function to the LLM (Language Large Model), and LLM actually\n * determines which function to call by the description.\n *\n * Also, when the LLM conversates with the user, the `description` is used to\n * explain the function to the user. Therefore, the `description` property has\n * the highest priority, and you have to consider it.\n */\n description?: string | undefined;\n /**\n * Whether the function is deprecated or not.\n *\n * If the `deprecated` is `true`, the function is not recommended to use.\n *\n * LLM (Large Language Model) may not use the deprecated function.\n */\n deprecated?: boolean | undefined;\n /**\n * Category tags for the function.\n *\n * You can fill this property by the `@tag ${name}` comment tag.\n */\n tags?: string[] | undefined;\n /**\n * Validate function of the arguments.\n *\n * You know what? LLM (Large Language Model) like OpenAI takes a lot of\n * mistakes when composing arguments in function calling. Even though `number`\n * like simple type is defined in the {@link parameters} schema, LLM often\n * fills it just by a `string` typed value.\n *\n * In that case, you have to give a validation feedback to the LLM by using\n * this `validate` function. The `validate` function will return detailed\n * information about every type errors about the arguments.\n *\n * And in my experience, OpenAI's `gpt-4o-mini` model tends to construct an\n * invalid function calling arguments at the first trial about 50% of the\n * time. However, if correct it through this `validate` function, the success\n * rate soars to 99% at the second trial, and I've never failed at the third\n * trial.\n *\n * > If you've {@link separated} parameters, use the\n * > {@link ILlmFunction.ISeparated.validate} function instead when validating\n * > the LLM composed arguments.\n *\n * > In that case, This `validate` function would be meaningful only when you've\n * > merged the LLM and human composed arguments by\n * > {@link HttpLlm.mergeParameters} function.\n *\n * @param args Arguments to validate\n * @returns Validation result\n */\n validate: (args: unknown) => IValidation<unknown>;\n}\nexport declare namespace ILlmFunction {\n /** Collection of separated parameters. */\n interface ISeparated<Model extends ILlmSchema.Model> {\n /**\n * Parameters that would be composed by the LLM.\n *\n * Even though no property exists in the LLM side, the `llm` property would\n * have at least empty object type.\n */\n llm: ILlmSchema.ModelParameters[Model];\n /** Parameters that would be composed by the human. */\n human: ILlmSchema.ModelParameters[Model] | null;\n /**\n * Validate function of the separated arguments.\n *\n * If LLM part of separated parameters has some properties, this `validate`\n * function will be filled for the {@link llm} type validation.\n *\n * > You know what? LLM (Large Language Model) like OpenAI takes a lot of\n * > mistakes when composing arguments in function calling. Even though\n * > `number` like simple type is defined in the {@link parameters} schema, LLM\n * > often fills it just by a `string` typed value.\n *\n * > In that case, you have to give a validation feedback to the LLM by using\n * > this `validate` function. The `validate` function will return detailed\n * > information about every type errors about the arguments.\n *\n * > And in my experience, OpenAI's `gpt-4o-mini` model tends to construct an\n * > invalid function calling arguments at the first trial about 50% of the\n * > time. However, if correct it through this `validate` function, the\n * > success rate soars to 99% at the second trial, and I've never failed at\n * > the third trial.\n *\n * @param args Arguments to validate\n * @returns Validate result\n */\n validate?: ((args: unknown) => IValidation<unknown>) | undefined;\n }\n}\n",
12518
+ "node_modules/@samchon/openapi/lib/structures/ILlmSchema.d.ts": "import { IChatGptSchema } from \"./IChatGptSchema\";\nimport { IClaudeSchema } from \"./IClaudeSchema\";\nimport { IDeepSeekSchema } from \"./IDeepSeekSchema\";\nimport { IGeminiSchema } from \"./IGeminiSchema\";\nimport { ILlamaSchema } from \"./ILlamaSchema\";\nimport { ILlmSchemaV3 } from \"./ILlmSchemaV3\";\nimport { ILlmSchemaV3_1 } from \"./ILlmSchemaV3_1\";\n/**\n * The schemas for the LLM function calling.\n *\n * `ILlmSchema` is an union type collecting every the schemas for the LLM\n * function calling.\n *\n * Select a proper schema type according to the LLM provider you're using.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Model Type of the LLM model\n * @reference https://platform.openai.com/docs/guides/function-calling\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\nexport type ILlmSchema<Model extends ILlmSchema.Model = ILlmSchema.Model> = ILlmSchema.ModelSchema[Model];\nexport declare namespace ILlmSchema {\n type Model = \"chatgpt\" | \"claude\" | \"deepseek\" | \"gemini\" | \"llama\" | \"3.0\" | \"3.1\";\n interface ModelConfig {\n chatgpt: IChatGptSchema.IConfig;\n claude: IClaudeSchema.IConfig;\n deepseek: IDeepSeekSchema.IConfig;\n gemini: IGeminiSchema.IConfig;\n llama: ILlamaSchema.IConfig;\n \"3.0\": ILlmSchemaV3.IConfig;\n \"3.1\": ILlmSchemaV3_1.IConfig;\n }\n interface ModelParameters {\n chatgpt: IChatGptSchema.IParameters;\n claude: IClaudeSchema.IParameters;\n deepseek: IDeepSeekSchema.IParameters;\n gemini: IGeminiSchema.IParameters;\n llama: ILlamaSchema.IParameters;\n \"3.0\": ILlmSchemaV3.IParameters;\n \"3.1\": ILlmSchemaV3_1.IParameters;\n }\n interface ModelSchema {\n chatgpt: IChatGptSchema;\n claude: IClaudeSchema;\n deepseek: IDeepSeekSchema;\n gemini: IGeminiSchema;\n llama: ILlamaSchema;\n \"3.0\": ILlmSchemaV3;\n \"3.1\": ILlmSchemaV3_1;\n }\n /**\n * Type of function parameters.\n *\n * `ILlmSchema.IParameters` is a type defining a function's pamameters as a\n * keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n type IParameters<Model extends ILlmSchema.Model = ILlmSchema.Model> = ILlmSchema.ModelParameters[Model];\n /** Configuration for the LLM schema composition. */\n type IConfig<Model extends ILlmSchema.Model = ILlmSchema.Model> = ILlmSchema.ModelConfig[Model];\n}\n",
12519
+ "node_modules/@samchon/openapi/lib/structures/ILlmSchemaV3.d.ts": "import { IJsonSchemaAttribute } from \"./IJsonSchemaAttribute\";\n/**\n * Type schema based on OpenAPI v3.0 for LLM function calling.\n *\n * `ILlmSchemaV3` is a type metadata for LLM (Large Language Model) function\n * calling, based on the OpenAPI v3.0 speicification. This type is not the final\n * type for the LLM function calling, but the intermediate structure for the\n * conversion to the final type like {@link IGeminiSchema}.\n *\n * `ILlmSchemaV3` basically follows the JSON schema definition of OpenAPI v3.0\n * specification; {@link OpenApiV3.IJsonSchema}. However, `ILlmSchemaV3` does not\n * have the reference type; {@link OpenApiV3.IJsonSchema.IReference}. It's\n * because the LLM cannot compose the reference typed arguments. If recursive\n * type comes, its type would be repeated in\n * {@link ILlmSchemaV3.IConfig.recursive} times. Otherwise you've configured it\n * to `false`, the recursive types are not allowed.\n *\n * For reference, the OpenAPI v3.0 based JSON schema definition can't express\n * the tuple array type. It has been supported since OpenAPI v3.1;\n * {@link OpenApi.IJsonSchema.ITuple}. Therefore, it would better to avoid using\n * the tuple array type in the LLM function calling.\n *\n * Also, if you configure {@link ILlmSchemaV3.IConfig.constraint} to `false`,\n * these properties would be banned and written to the\n * {@link ILlmSchemaV3.__IAttribute.description} property instead. It's because\n * there are some LLM models which does not support the constraint properties.\n *\n * - {@link ILlmSchemaV3.INumber.minimum}\n * - {@link ILlmSchemaV3.INumber.maximum}\n * - {@link ILlmSchemaV3.INumber.multipleOf}\n * - {@link ILlmSchemaV3.IString.minLength}\n * - {@link ILlmSchemaV3.IString.maxLength}\n * - {@link ILlmSchemaV3.IString.format}\n * - {@link ILlmSchemaV3.IString.pattern}\n * - {@link ILlmSchemaV3.IString.contentMediaType}\n * - {@link ILlmSchemaV3.IArray.minItems}\n * - {@link ILlmSchemaV3.IArray.maxItems}\n * - {@link ILlmSchemaV3.IArray.unique}\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @reference https://platform.openai.com/docs/guides/function-calling\n */\nexport type ILlmSchemaV3 = ILlmSchemaV3.IBoolean | ILlmSchemaV3.IInteger | ILlmSchemaV3.INumber | ILlmSchemaV3.IString | ILlmSchemaV3.IArray | ILlmSchemaV3.IObject | ILlmSchemaV3.IUnknown | ILlmSchemaV3.INullOnly | ILlmSchemaV3.IOneOf;\nexport declare namespace ILlmSchemaV3 {\n /** Configuration for OpenAPI v3.0 based LLM schema composition. */\n interface IConfig {\n /**\n * Whether to allow constraint properties or not.\n *\n * If you configure this property to `false`, the schemas do not contain the\n * constraint properties of below. Instead, below properties would be\n * written to the {@link ILlmSchemaV3.__IAttribute.description} property as a\n * comment string like `\"@format uuid\"`.\n *\n * This is because some LLM schema model like {@link IGeminiSchema} has\n * banned such constraint, because their LLM cannot understand the\n * constraint properties and occur the hallucination.\n *\n * Therefore, considering your LLM model's performance, capability, and the\n * complexity of your parameter types, determine which is better, to allow\n * the constraint properties or not.\n *\n * - {@link ILlmSchemaV3.INumber.minimum}\n * - {@link ILlmSchemaV3.INumber.maximum}\n * - {@link ILlmSchemaV3.INumber.multipleOf}\n * - {@link ILlmSchemaV3.IString.minLength}\n * - {@link ILlmSchemaV3.IString.maxLength}\n * - {@link ILlmSchemaV3.IString.format}\n * - {@link ILlmSchemaV3.IString.pattern}\n * - {@link ILlmSchemaV3.IString.contentMediaType}\n * - {@link ILlmSchemaV3.IString.default}\n * - {@link ILlmSchemaV3.IArray.minItems}\n * - {@link ILlmSchemaV3.IArray.maxItems}\n * - {@link ILlmSchemaV3.IArray.unique}\n *\n * @default true\n */\n constraint: boolean;\n /**\n * Whether to allow recursive types or not.\n *\n * If allow, then how many times to repeat the recursive types.\n *\n * By the way, if the model is \"chatgpt\", the recursive types are always\n * allowed without any limitation, due to it supports the reference type.\n *\n * @default 3\n */\n recursive: false | number;\n }\n /**\n * Type of the function parameters.\n *\n * `ILlmSchemaV3.IParameters` is a type defining a function's parameters as a\n * keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n interface IParameters extends Omit<IObject, \"additionalProperties\"> {\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * By the way, it is not allowed in the parameters level.\n */\n additionalProperties: false;\n }\n /** Boolean type schema info. */\n interface IBoolean extends IJsonSchemaAttribute.IBoolean {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /** Default value. */\n default?: boolean | null;\n /** Enumeration values. */\n enum?: Array<boolean | null>;\n }\n /** Integer type schema info. */\n interface IInteger extends IJsonSchemaAttribute.IInteger {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /**\n * Default value.\n *\n * @type int64\n */\n default?: number | null;\n /**\n * Enumeration values.\n *\n * @type int64\n */\n enum?: Array<number | null>;\n /**\n * Minimum value restriction.\n *\n * @type int64\n */\n minimum?: number;\n /**\n * Maximum value restriction.\n *\n * @type int64\n */\n maximum?: number;\n /** Exclusive minimum value restriction. */\n exclusiveMinimum?: number;\n /** Exclusive maximum value restriction. */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @type uint64\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /** Number type schema info. */\n interface INumber extends IJsonSchemaAttribute.INumber {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /** Default value. */\n default?: number | null;\n /** Enumeration values. */\n enum?: Array<number | null>;\n /** Minimum value restriction. */\n minimum?: number;\n /** Maximum value restriction. */\n maximum?: number;\n /** Exclusive minimum value restriction. */\n exclusiveMinimum?: number;\n /** Exclusive maximum value restriction. */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /** String type schema info. */\n interface IString extends IJsonSchemaAttribute.IString {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /** Default value. */\n default?: string | null;\n /** Enumeration values. */\n enum?: Array<string | null>;\n /** Format restriction. */\n format?: \"binary\" | \"byte\" | \"password\" | \"regex\" | \"uuid\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"iri\" | \"iri-reference\" | \"ipv4\" | \"ipv6\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"date-time\" | \"date\" | \"time\" | \"duration\" | \"json-pointer\" | \"relative-json-pointer\" | (string & {});\n /** Pattern restriction. */\n pattern?: string;\n /**\n * Minimum length restriction.\n *\n * @type uint64\n */\n minLength?: number;\n /**\n * Maximum length restriction.\n *\n * @type uint64\n */\n maxLength?: number;\n /** Content media type restriction. */\n contentMediaType?: string;\n }\n /** Array type schema info. */\n interface IArray extends IJsonSchemaAttribute.IArray {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /**\n * Items type schema info.\n *\n * The `items` means the type of the array elements. In other words, it is\n * the type schema info of the `T` in the TypeScript array type `Array<T>`.\n */\n items: ILlmSchemaV3;\n /**\n * Unique items restriction.\n *\n * If this property value is `true`, target array must have unique items.\n */\n uniqueItems?: boolean;\n /**\n * Minimum items restriction.\n *\n * Restriction of minimum number of items in the array.\n *\n * @type uint64\n */\n minItems?: number;\n /**\n * Maximum items restriction.\n *\n * Restriction of maximum number of items in the array.\n *\n * @type uint64\n */\n maxItems?: number;\n }\n /** Object type schema info. */\n interface IObject extends IJsonSchemaAttribute.IObject {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /**\n * Properties of the object.\n *\n * The `properties` means a list of key-value pairs of the object's regular\n * properties. The key is the name of the regular property, and the value is\n * the type schema info.\n *\n * If you need additional properties that is represented by dynamic key, you\n * can use the {@link additionalProperties} instead.\n */\n properties: Record<string, ILlmSchemaV3>;\n /**\n * List of key values of the required properties.\n *\n * The `required` means a list of the key values of the required\n * {@link properties}. If some property key is not listed in the `required`\n * list, it means that property is optional. Otherwise some property key\n * exists in the `required` list, it means that the property must be\n * filled.\n *\n * Below is an example of the {@link properties} and `required`.\n *\n * ```typescript\n * interface SomeObject {\n * id: string;\n * email: string;\n * name?: string;\n * }\n * ```\n *\n * As you can see, `id` and `email` {@link properties} are {@link required},\n * so that they are listed in the `required` list.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"id\": { \"type\": \"string\" },\n * \"email\": { \"type\": \"string\" },\n * \"name\": { \"type\": \"string\" }\n * },\n * \"required\": [\"id\", \"email\"]\n * }\n * ```\n */\n required: string[];\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * If the value is `true`, it means that the additional properties are not\n * restricted. They can be any type. Otherwise, if the value is\n * {@link ILlmSchemaV3} type, it means that the additional properties must\n * follow the type schema info.\n *\n * - `true`: `Record<string, any>`\n * - `IOpenAiSchema`: `Record<string, T>`\n */\n additionalProperties?: boolean | ILlmSchemaV3;\n }\n /**\n * One of type schema info.\n *\n * `IOneOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has defined\n * `anyOf` instead of the `oneOf`, it has been forcibly converted to `oneOf`\n * type by {@link OpenApi.convert OpenAPI conversion}.\n */\n interface IOneOf extends IJsonSchemaAttribute {\n /** List of the union types. */\n oneOf: Exclude<ILlmSchemaV3, ILlmSchemaV3.IOneOf>[];\n }\n /** Null only type schema info. */\n interface INullOnly extends IJsonSchemaAttribute.INull {\n /** Default value. */\n default?: null;\n }\n /**\n * Unknown type schema info.\n *\n * It means the type of the value is `any`.\n */\n interface IUnknown extends IJsonSchemaAttribute.IUnknown {\n }\n /**\n * Significant attributes that can be applied to the most types.\n *\n * @ignore\n * @deprecated\n */\n interface __ISignificant<Type extends string> extends __IAttribute {\n /** Discriminator value of the type. */\n type: Type;\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n }\n /**\n * Common attributes that can be applied to all types.\n *\n * @ignore\n * @deprecated\n */\n type __IAttribute = IJsonSchemaAttribute;\n}\n",
12520
+ "node_modules/@samchon/openapi/lib/structures/ILlmSchemaV3_1.d.ts": "import { IJsonSchemaAttribute } from \"./IJsonSchemaAttribute\";\n/**\n * Type schema based on OpenAPI v3.1 for LLM function calling.\n *\n * `ILlmSchemaV3_1` is a type metadata for LLM (Large Language Model) function\n * calling, based on the OpenAPI v3.1 speicification. This type is not the final\n * type for the LLM function calling, but the intermediate structure for the\n * conversion to the final type of below:\n *\n * - {@link IChatGptSchema}\n * - {@link IClaudeSchema}\n * - {@link ILlamaSchema}\n *\n * However, the `ILlmSchemaV3_1` does not follow the entire specification of the\n * OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n * list of how `ILlmSchemaV3_1` is different with the OpenAPI v3.1 JSON schema.\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property:\n * {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to {@link ILlmSchemaV3_1.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link ILlmSchemaV3_1.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n * {@link ILlmSchemaV3_1.IReference}\n * - Do not support {@link OpenApiV3_1.IJsonSchema.ITuple} type\n *\n * If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema\n * specification,\n *\n * - {@link ILlmSchemaV3_1.IParameters.$defs} instead of the\n * {@link OpenApi.IJsonSchema.schemas}\n * - Do not support {@link OpenApi.IJsonSchema.ITuple} type\n * - {@link ILlmSchemaV3_1.properties} and {@link ILlmSchemaV3_1.required} are\n * always defined\n *\n * For reference, if you've composed the `ILlmSchemaV3_1` type with the\n * {@link ILlmSchemaV3_1.IConfig.reference} `false` option (default is `false`),\n * only the recursived named types would be archived into the\n * {@link ILlmSchemaV3_1.IParameters.$defs}, and the others would be ecaped from\n * the {@link ILlmSchemaV3_1.IReference} type.\n *\n * Also, if you've composed the `ILlmSchemaV3_1` type with the\n * {@link ILlmSchemaV3_1.IConfig.constraint} `false` option (default `false`),\n * the `ILlmSchemaV3_1` would not compose these properties. Instead, these\n * properties would be written on\n * {@link ILlmSchemaV3_1.__IAttribute.descripotion} field like `@format uuid`\n * case.\n *\n * - {@link ILlmSchemaV3_1.INumber.minimum}\n * - {@link ILlmSchemaV3_1.INumber.maximum}\n * - {@link ILlmSchemaV3_1.INumber.multipleOf}\n * - {@link ILlmSchemaV3_1.IString.minLength}\n * - {@link ILlmSchemaV3_1.IString.maxLength}\n * - {@link ILlmSchemaV3_1.IString.format}\n * - {@link ILlmSchemaV3_1.IString.pattern}\n * - {@link ILlmSchemaV3_1.IString.contentMediaType}\n * - {@link ILlmSchemaV3_1.IArray.minItems}\n * - {@link ILlmSchemaV3_1.IArray.maxItems}\n * - {@link ILlmSchemaV3_1.IArray.unique}\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @reference https://platform.openai.com/docs/guides/function-calling\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\nexport type ILlmSchemaV3_1 = ILlmSchemaV3_1.IConstant | ILlmSchemaV3_1.IBoolean | ILlmSchemaV3_1.IInteger | ILlmSchemaV3_1.INumber | ILlmSchemaV3_1.IString | ILlmSchemaV3_1.IArray | ILlmSchemaV3_1.IObject | ILlmSchemaV3_1.IReference | ILlmSchemaV3_1.IOneOf | ILlmSchemaV3_1.INull | ILlmSchemaV3_1.IUnknown;\nexport declare namespace ILlmSchemaV3_1 {\n /** Configuration for OpenAPI v3.1 based LLM schema composition. */\n interface IConfig {\n /**\n * Whether to allow constraint properties or not.\n *\n * If you configure this property to `false`, the schemas do not contain the\n * constraint properties of below. Instead, below properties would be\n * written to the {@link ILlmSchemaV3_1.__IAttribute.description} property as\n * a comment string like `\"@format uuid\"`.\n *\n * This is because some LLM schema model like {@link IChatGptSchema} has\n * banned such constraint, because their LLM cannot understand the\n * constraint properties and occur the hallucination.\n *\n * Therefore, considering your LLM model's performance, capability, and the\n * complexity of your parameter types, determine which is better, to allow\n * the constraint properties or not.\n *\n * - {@link ILlmSchemaV3_1.INumber.minimum}\n * - {@link ILlmSchemaV3_1.INumber.maximum}\n * - {@link ILlmSchemaV3_1.INumber.multipleOf}\n * - {@link ILlmSchemaV3_1.IString.minLength}\n * - {@link ILlmSchemaV3_1.IString.maxLength}\n * - {@link ILlmSchemaV3_1.IString.format}\n * - {@link ILlmSchemaV3_1.IString.pattern}\n * - {@link ILlmSchemaV3_1.IString.contentMediaType}\n * - {@link ILlmSchemaV3_1.IString.default}\n * - {@link ILlmSchemaV3_1.IArray.minItems}\n * - {@link ILlmSchemaV3_1.IArray.maxItems}\n * - {@link ILlmSchemaV3_1.IArray.unique}\n *\n * @default true\n */\n constraint: boolean;\n /**\n * Whether to allow reference type in everywhere.\n *\n * If you configure this property to `false`, most of reference types\n * represented by {@link ILlmSchemaV3_1.IReference} would be escaped to a\n * plain type unless recursive type case.\n *\n * This is because some low sized LLM models does not understand the\n * reference type well, and even the large size LLM models sometimes occur\n * the hallucination.\n *\n * However, the reference type makes the schema size smaller, so that\n * reduces the LLM token cost. Therefore, if you're using the large size of\n * LLM model, and want to reduce the LLM token cost, you can configure this\n * property to `true`.\n *\n * @default true\n */\n reference: boolean;\n }\n /**\n * Type of the function parameters.\n *\n * `ILlmSchemaV3_1.IParameters` is a type defining a function's parameters as\n * a keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n interface IParameters extends Omit<IObject, \"additionalProperties\"> {\n /** Collection of the named types. */\n $defs: Record<string, ILlmSchemaV3_1>;\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * By the way, it is not allowed in the parameters level.\n */\n additionalProperties: false;\n }\n /** Constant value type. */\n interface IConstant extends IJsonSchemaAttribute {\n /** The constant value. */\n const: boolean | number | string;\n }\n /** Boolean type info. */\n interface IBoolean extends IJsonSchemaAttribute.IBoolean {\n /** The default value. */\n default?: boolean;\n }\n /** Integer type info. */\n interface IInteger extends IJsonSchemaAttribute.IInteger {\n /**\n * Default value.\n *\n * @type int64\n */\n default?: number;\n /**\n * Minimum value restriction.\n *\n * @type int64\n */\n minimum?: number;\n /**\n * Maximum value restriction.\n *\n * @type int64\n */\n maximum?: number;\n /** Exclusive minimum value restriction. */\n exclusiveMinimum?: number;\n /** Exclusive maximum value restriction. */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @type uint64\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /** Number (double) type info. */\n interface INumber extends IJsonSchemaAttribute.INumber {\n /** Default value. */\n default?: number;\n /** Minimum value restriction. */\n minimum?: number;\n /** Maximum value restriction. */\n maximum?: number;\n /** Exclusive minimum value restriction. */\n exclusiveMinimum?: number;\n /** Exclusive maximum value restriction. */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /** String type info. */\n interface IString extends IJsonSchemaAttribute.IString {\n /** Default value. */\n default?: string;\n /** Format restriction. */\n format?: \"binary\" | \"byte\" | \"password\" | \"regex\" | \"uuid\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"iri\" | \"iri-reference\" | \"ipv4\" | \"ipv6\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"date-time\" | \"date\" | \"time\" | \"duration\" | \"json-pointer\" | \"relative-json-pointer\" | (string & {});\n /** Pattern restriction. */\n pattern?: string;\n /** Content media type restriction. */\n contentMediaType?: string;\n /**\n * Minimum length restriction.\n *\n * @type uint64\n */\n minLength?: number;\n /**\n * Maximum length restriction.\n *\n * @type uint64\n */\n maxLength?: number;\n }\n /** Array type info. */\n interface IArray extends IJsonSchemaAttribute.IArray {\n /**\n * Items type info.\n *\n * The `items` means the type of the array elements. In other words, it is\n * the type schema info of the `T` in the TypeScript array type `Array<T>`.\n */\n items: ILlmSchemaV3_1;\n /**\n * Unique items restriction.\n *\n * If this property value is `true`, target array must have unique items.\n */\n uniqueItems?: boolean;\n /**\n * Minimum items restriction.\n *\n * Restriction of minimum number of items in the array.\n *\n * @type uint64\n */\n minItems?: number;\n /**\n * Maximum items restriction.\n *\n * Restriction of maximum number of items in the array.\n *\n * @type uint64\n */\n maxItems?: number;\n }\n /** Object type info. */\n interface IObject extends IJsonSchemaAttribute.IObject {\n /**\n * Properties of the object.\n *\n * The `properties` means a list of key-value pairs of the object's regular\n * properties. The key is the name of the regular property, and the value is\n * the type schema info.\n *\n * If you need additional properties that is represented by dynamic key, you\n * can use the {@link additionalProperties} instead.\n */\n properties: Record<string, ILlmSchemaV3_1>;\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * If the value is `true`, it means that the additional properties are not\n * restricted. They can be any type. Otherwise, if the value is\n * {@link IOpenAiSchema} type, it means that the additional properties must\n * follow the type schema info.\n *\n * - `true`: `Record<string, any>`\n * - `IOpenAiSchema`: `Record<string, T>`\n */\n additionalProperties?: boolean | ILlmSchemaV3_1;\n /**\n * List of key values of the required properties.\n *\n * The `required` means a list of the key values of the required\n * {@link properties}. If some property key is not listed in the `required`\n * list, it means that property is optional. Otherwise some property key\n * exists in the `required` list, it means that the property must be\n * filled.\n *\n * Below is an example of the {@link properties} and `required`.\n *\n * ```typescript\n * interface SomeObject {\n * id: string;\n * email: string;\n * name?: string;\n * }\n * ```\n *\n * As you can see, `id` and `email` {@link properties} are {@link required},\n * so that they are listed in the `required` list.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"id\": { \"type\": \"string\" },\n * \"email\": { \"type\": \"string\" },\n * \"name\": { \"type\": \"string\" }\n * },\n * \"required\": [\"id\", \"email\"]\n * }\n * ```\n */\n required: string[];\n }\n /** Reference type directing named schema. */\n interface IReference extends IJsonSchemaAttribute {\n /**\n * Reference to the named schema.\n *\n * The `ref` is a reference to the named schema. Format of the `$ref` is\n * following the JSON Pointer specification. In the OpenAPI, the `$ref`\n * starts with `#/$defs/` which means the type is stored in the\n * {@link ILlmSchemaV3_1.IParameters.$defs} object.\n *\n * - `#/$defs/SomeObject`\n * - `#/$defs/AnotherObject`\n */\n $ref: string;\n }\n /**\n * Union type.\n *\n * `IOneOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has defined\n * `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly converts it to\n * `oneOf` type.\n */\n interface IOneOf extends IJsonSchemaAttribute {\n /** List of the union types. */\n oneOf: Exclude<ILlmSchemaV3_1, ILlmSchemaV3_1.IOneOf>[];\n /** Discriminator info of the union type. */\n discriminator?: IOneOf.IDiscriminator;\n }\n namespace IOneOf {\n /** Discriminator info of the union type. */\n interface IDiscriminator {\n /** Property name for the discriminator. */\n propertyName: string;\n /**\n * Mapping of the discriminator value to the schema name.\n *\n * This property is valid only for {@link IReference} typed\n * {@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is the\n * discriminator value, and `value` of `mapping` is the schema name like\n * `#/components/schemas/SomeObject`.\n */\n mapping?: Record<string, string>;\n }\n }\n /** Null type. */\n interface INull extends IJsonSchemaAttribute.INull {\n /** Default value. */\n default?: null;\n }\n /** Unknown, the `any` type. */\n interface IUnknown extends IJsonSchemaAttribute.IUnknown {\n }\n /**\n * Significant attributes that can be applied to the most types.\n *\n * @ignore\n * @deprecated\n */\n interface __ISignificant<Type extends string> extends __IAttribute {\n /** Discriminator value of the type. */\n type: Type;\n }\n /**\n * Common attributes that can be applied to all types.\n *\n * @ignore\n * @deprecated\n */\n type __IAttribute = IJsonSchemaAttribute;\n}\n",
12521
+ "node_modules/@samchon/openapi/lib/structures/IMcpLlmApplication.d.ts": "import { ILlmSchema } from \"./ILlmSchema\";\nimport { IMcpLlmFunction } from \"./IMcpLlmFunction\";\n/**\n * Application of LLM function call from MCP document.\n *\n * `IMcpLlmApplication` is an interface representing a collection of\n * {@link IMcpLlmFunction LLM function calling schemas} composed from the MCP\n * (Model Context Protocol) document. It contains\n * {@link IMcpLlmApplication.errors failed functions}, and adjusted\n * {@link IMcpLlmApplication.options options} during the `IMcpLlmApplication`\n * construction.\n *\n * About each function of MCP server, there can be {@link errors} during the\n * composition, if the target {@link model} does not support the function's\n * {@link IMcpLlmFunction.parameters} type. For example, Google Gemini model does\n * not support union type, so that the function containing the union type would\n * be placed into the {@link errors} list instead of {@link functions}.\n *\n * Also, each function has its own {@link IMcpLlmFunction.validate} function for\n * correcting AI agent's mistakes, and this is the reason why `@samchon/openapi`\n * recommends not to use the\n * [`mcp_servers`](https://openai.github.io/openai-agents-python/mcp/#using-mcp-servers)\n * property of LLM API directly, but to use the function calling feature\n * instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @author Byeongjin Oh - https://github.com/sunrabbit123\n */\nexport interface IMcpLlmApplication<Model extends ILlmSchema.Model> {\n /** Model of the target LLM. */\n model: Model;\n /**\n * List of function metadata.\n *\n * List of function metadata that can be used for the LLM function call.\n */\n functions: IMcpLlmFunction<Model>[];\n /** List of errors occurred during the composition. */\n errors: IMcpLlmApplication.IError[];\n /** Configuration for the application. */\n options: IMcpLlmApplication.IOptions<Model>;\n}\nexport declare namespace IMcpLlmApplication {\n /** Options for the HTTP LLM application schema composition. */\n type IOptions<Model extends ILlmSchema.Model> = ILlmSchema.ModelConfig[Model] & {\n /**\n * Maximum length of function name.\n *\n * When a function name is longer than this value, it will be truncated.\n *\n * If not possible to truncate due to the duplication, the function name\n * would be modified to randomly generated (UUID v4).\n *\n * @default 64\n */\n maxLength?: number;\n };\n /** Error occurred in the composition. */\n interface IError {\n /** Name of the failed function. */\n name: string;\n /** Description of the failed function. */\n description?: string | undefined;\n /** Parameters of the function. */\n parameters: object;\n /**\n * Error messages.\n *\n * The reason why the function is failed to be convert.\n */\n messages: string[];\n }\n}\n",
12522
+ "node_modules/@samchon/openapi/lib/structures/IMcpLlmController.d.ts": "import { ILlmSchema } from \"./ILlmSchema\";\nimport { IMcpLlmApplication } from \"./IMcpLlmApplication\";\n\n/**\n * Controller of MCP function calling.\n *\n * `IMcpLlmController` is a controller of MCP function calling, containing not\n * only the {@link IMcpLlmApplication application} of\n * {@link IMcpLlmFunction function calling schemas}, but also\n * {@link name identifier name} of the application and {@link execute executor} of\n * MCP functions.\n *\n * Here is an example of using `IMcpLlmController` type for AI agent development\n * of performing AI function calling to e-commerce API functions through\n * `@agentica`.\n *\n * ```typescript\n * import { Agentica, assertMcpController } from \"@wrtnlabs/agentica\";\n * import { StdioClientTransport } from \"@modelcontextprotocol/sdk/client/stdio.js\";\n * import { Client } from \"@modelcontextprotocol/sdk/client/index.js\";\n *\n * const client = new Client({\n * name: \"calculator\",\n * version: \"1.0.0\",\n * });\n * await client.connect(new StdioClientTransport({\n * command: \"npx\",\n * args: [\"-y\", \"@modelcontextprotocol/server-github\"],\n * env: {\n * GITHUB_PERSONAL_ACCESS_TOKEN: process.env.GITHUB_PERSONAL_ACCESS_TOKEN,\n * // Add other environment variables as needed\n * }\n * }));\n *\n * const agent = new Agentica({\n * model: \"chatgpt\",\n * vendor: {\n * api: new OpenAI({ apiKey: \"*****\"})\n * model: \"gpt-4o-mini\"\n * },\n * controllers: [\n * await assertMcpController({\n * name: \"calculator\",\n * model: \"chatgpt\",\n * client,\n * }),\n * ],\n * });\n * await agent.conversate(\"What can you do?\");\n * ```\n *\n * For reference, this `IMcpLlmController` type is designed for MCP servers. If\n * you want to make a controller of another {@link protocol} like HTTP or\n * TypeScript, use below types instead:\n *\n * - {@link IHttpLlmController} for HTTP\n * - {@link ILlmController} for TypeScript\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @author Byeongjin Oh - https://github.com/sunrabbit123\n * @reference https://wrtnlabs.io/agentica/docs/core/controller/mcp/\n */\nexport interface IMcpLlmController<Model extends ILlmSchema.Model> {\n /** Protocol discriminator. */\n protocol: \"mcp\";\n\n /** Identifier name of the controller. */\n name: string;\n\n /** Application schema of function calling. */\n application: IMcpLlmApplication<Model>;\n\n /**\n * MCP client for connection.\n *\n * @warning You have to install `@modelcontextprotocol/sdk` package\n * to use this type properly. If not, this type would work\n * as an `any` type, so that you can't validate it.\n */\n // @ts-ignore\n client: import(\"@modelcontextprotocol/sdk/client/index.d.ts\").Client;\n}\n",
12523
+ "node_modules/@samchon/openapi/lib/structures/IMcpLlmFunction.d.ts": "import { ILlmSchema } from \"./ILlmSchema\";\nimport { IValidation } from \"./IValidation\";\n/**\n * MCP LLM function.\n *\n * `IMcpLlmFunction` is an interface representing a function metadata of MCP\n * (Model Context Protocol), which has been designed for the LLM (Language Large\n * Model) function calling, instead of providing\n * [`mcp_servers`](https://openai.github.io/openai-agents-python/mcp/#using-mcp-servers)\n * property to the LLM vendor API.\n *\n * It contains the target function's metadata {@link name}, {@link parameters} and\n * {@link description}. You can put these properties to the LLM vendor API to let\n * the LLM know the function's purpose and how to call it.\n *\n * Also, it contains {@link validate} function, which is used to validate the\n * function arguments generated by AI agent. It is very important to the LLM\n * function calling, because LLM like OpenAI takes a lot of mistakes when\n * composing arguments in function calling. Even though `number` like simple\n * type is defined in the {@link parameters} schema, LLM often fills it just by a\n * `string` typed value.\n *\n * > This is the reason why `@samchon/openapi` recommends not to use the\n * > [`mcp_servers`](https://openai.github.io/openai-agents-python/mcp/#using-mcp-servers)\n * > property of LLM API directly, but to use the function calling feature\n * > instead. You have to make the AI agent to correct the type level mistakes by\n * > using the `validate` function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @author Byeongjin Oh - https://github.com/sunrabbit123\n */\nexport interface IMcpLlmFunction<Model extends ILlmSchema.Model> {\n /**\n * Representative name of the function.\n *\n * @maxLength 64\n */\n name: string;\n /**\n * Description of the function.\n *\n * For reference, the `description` is very important property to teach the\n * purpose of the function to the LLM (Language Large Model), and LLM actually\n * determines which function to call by the description.\n *\n * Also, when the LLM conversates with the user, the `description` is used to\n * explain the function to the user. Therefore, the `description` property has\n * the highest priority, and you have to consider it.\n */\n description?: string | undefined;\n /** Parameters of the function. */\n parameters: ILlmSchema.IParameters<Model>;\n /**\n * Validate function of the arguments.\n *\n * You know what? LLM (Large Language Model) like OpenAI takes a lot of\n * mistakes when composing arguments in function calling. Even though `number`\n * like simple type is defined in the {@link parameters} schema, LLM often\n * fills it just by a `string` typed value.\n *\n * In that case, you have to give a validation feedback to the LLM by using\n * this `validate` function. The `validate` function will return detailed\n * information about every type errors about the arguments.\n *\n * And in my experience, OpenAI's `gpt-4o-mini` model tends to construct an\n * invalid function calling arguments at the first trial about 50% of the\n * time. However, if correct it through this `validate` function, the success\n * rate soars to 99% at the second trial, and I've never failed at the third\n * trial.\n *\n * > If you've {@link separated} parameters, use the\n * > {@link IMcpLlmFunction.ISeparated.validate} function instead when validating\n * > the LLM composed arguments.\n *\n * > In that case, This `validate` function would be meaningful only when you've\n * > merged the LLM and human composed arguments by\n * > {@link McpLlm.mergeParameters} function.\n *\n * @param args Arguments to validate\n * @returns Validation result\n */\n validate: (args: unknown) => IValidation<unknown>;\n}\n",
12524
+ "node_modules/@samchon/openapi/lib/structures/IMcpTool.d.ts": "import { OpenApiV3_1 } from \"../OpenApiV3_1\";\n/**\n * MCP tool type.\n *\n * `IMcpTool` is an interface representing a tool type defined in the MCP (Model\n * Context Protocol).\n *\n * Note that, don't be confused with {@link IMcpLlmFunction} type, that is used\n * for {@link McpLlm.application} which converts this `IMcpTool` type to the\n * {@link IMcpLlmFunction} type.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @warning Don't be confused with {@link IMcpLlmFunction}\n */\nexport interface IMcpTool {\n /**\n * Name of the tool.\n *\n * @maxLength 64\n */\n name: string;\n /** Description of the tool. */\n description?: string | undefined;\n /**\n * Input schema of the tool.\n *\n * The input schema, parameters of the tool.\n *\n * As MCP (Model Context Protocol) does not restict the JSON schema\n * specification, `@samchon/openapi` has defined it to be universal structure\n * {@link OpenApiV3_1.IJsonSchema} which can cover every JSON schema\n * specification.\n */\n inputSchema: IMcpTool.IInputSchema;\n}\nexport declare namespace IMcpTool {\n /**\n * Input schema of the tool.\n *\n * The input schema, parameters of the tool.\n *\n * As MCP (Model Context Protocol) does not restict the JSON schema\n * specification, `@samchon/openapi` has defined it to be universal structure\n * {@link OpenApiV3_1.IJsonSchema} which can cover every JSON schema\n * specification.\n */\n type IInputSchema = (OpenApiV3_1.IJsonSchema.IObject | OpenApiV3_1.IJsonSchema.IReference) & {\n /** Collection of the named schemas. */\n $defs?: Record<string, OpenApiV3_1.IJsonSchema>;\n };\n}\n",
12525
+ "node_modules/@samchon/openapi/lib/structures/IOpenApiSchemaError.d.ts": "import { OpenApi } from \"../OpenApi\";\n/**\n * OpenAPI schema related error.\n *\n * `IOpenApiSchemaError` is a type representing an error that occurred during\n * the iteration or transformation of the OpenAPI schema (JSON schema) of\n * {@link OpenApi.IJsonSchema} type.\n *\n * The most `IOpenApiSchemaError` is occurred by the transformation process from\n * {@link OpenApi.IJsonSchema} to {@link ILlmSchema} type. The transformation can\n * be failed by following reasons:\n *\n * - Unable to find the {@link OpenApi.IJsonSchema.IReference} directing.\n * - Non-supported type in LLM schema models\n *\n * - Every models do not support {@link OpenApi.IJsonSchema.ITuple}\n * - Gemini does not support {@link OpenApi.IJsonSchema.IOneOf}\n * - ChatGPT and Gemini do not support\n * {@link OpenApi.IJsonSchema.IObject.additionalProperties}\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IOpenApiSchemaError {\n /** Method that caused the error. */\n method: string;\n /** Message of the error. */\n message: string;\n /** The detailed reasons of the error. */\n reasons: IOpenApiSchemaError.IReason[];\n}\nexport declare namespace IOpenApiSchemaError {\n /** Detailed reason of the error. */\n interface IReason {\n /** Schema that caused the error. */\n schema: OpenApi.IJsonSchema;\n /** Accessor to the schema. */\n accessor: string;\n /** Message of the reason. */\n message: string;\n }\n}\n",
12526
+ "node_modules/@samchon/openapi/lib/structures/IResult.d.ts": "/**\n * Result of an operation that can either succeed or fail.\n *\n * `IResult` is an union type that represents the result of an operation that\n * can either succeed or fail.\n *\n * You can distinguished the result by checking the {@link IResult.success}\n * value, and if it's `true`, the success value is stored in\n * {@link IResult.value}. Otherwise, if it's `false`, the error value is stored\n * in {@link IResult.error}.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the success value.\n * @template E Type of the error value.\n */\nexport type IResult<T, E> = IResult.ISuccess<T> | IResult.IFailure<E>;\nexport declare namespace IResult {\n /** Success type of {@link IResult}. */\n interface ISuccess<T> {\n /** Success flag. */\n success: true;\n /** Success value. */\n value: T;\n }\n /** Failure type of {@link IResult}. */\n interface IFailure<E> {\n /** Success flag. */\n success: false;\n /** The error value. */\n error: E;\n }\n}\n",
12527
+ "node_modules/@samchon/openapi/lib/structures/IValidation.d.ts": "/**\n * Union type representing the result of type validation\n *\n * This is the return type of {@link typia.validate} functions, returning\n * {@link IValidation.ISuccess} on validation success and\n * {@link IValidation.IFailure} on validation failure. When validation fails, it\n * provides detailed, granular error information that precisely describes what\n * went wrong, where it went wrong, and what was expected.\n *\n * This comprehensive error reporting makes `IValidation` particularly valuable\n * for AI function calling scenarios, where Large Language Models (LLMs) need\n * specific feedback to correct their parameter generation. The detailed error\n * information is used by ILlmFunction.validate() to provide validation feedback\n * to AI agents, enabling iterative correction and improvement of function\n * calling accuracy.\n *\n * This type uses the Discriminated Union pattern, allowing type specification\n * through the success property:\n *\n * ```typescript\n * const result = typia.validate<string>(input);\n * if (result.success) {\n * // IValidation.ISuccess<string> type\n * console.log(result.data); // validated data accessible\n * } else {\n * // IValidation.IFailure type\n * console.log(result.errors); // detailed error information accessible\n * }\n * ```\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T The type to validate\n */\nexport type IValidation<T = unknown> = IValidation.ISuccess<T> | IValidation.IFailure;\nexport declare namespace IValidation {\n /**\n * Interface returned when type validation succeeds\n *\n * Returned when the input value perfectly conforms to the specified type T.\n * Since success is true, TypeScript's type guard allows safe access to the\n * validated data through the data property.\n *\n * @template T The validated type\n */\n interface ISuccess<T = unknown> {\n /** Indicates validation success */\n success: true;\n /** The validated data of type T */\n data: T;\n }\n /**\n * Interface returned when type validation fails\n *\n * Returned when the input value does not conform to the expected type.\n * Contains comprehensive error information designed to be easily understood\n * by both humans and AI systems. Each error in the errors array provides\n * precise details about validation failures, including the exact path to the\n * problematic property, what type was expected, and what value was actually\n * provided.\n *\n * This detailed error structure is specifically optimized for AI function\n * calling validation feedback. When LLMs make type errors during function\n * calling, these granular error reports enable the AI to understand exactly\n * what went wrong and how to fix it, improving success rates in subsequent\n * attempts.\n *\n * Example error scenarios:\n *\n * - Type mismatch: expected \"string\" but got number 5\n * - Format violation: expected \"string & Format<'uuid'>\" but got\n * \"invalid-format\"\n * - Missing properties: expected \"required property 'name'\" but got undefined\n * - Array type errors: expected \"Array<string>\" but got single string value\n *\n * The errors are used by ILlmFunction.validate() to provide structured\n * feedback to AI agents, enabling them to correct their parameter generation\n * and achieve improved function calling accuracy.\n */\n interface IFailure {\n /** Indicates validation failure */\n success: false;\n /** The original input data that failed validation */\n data: unknown;\n /** Array of detailed validation errors */\n errors: IError[];\n }\n /**\n * Detailed information about a specific validation error\n *\n * Each error provides granular, actionable information about validation\n * failures, designed to be immediately useful for both human developers and\n * AI systems. The error structure follows a consistent format that enables\n * precise identification and correction of type mismatches.\n *\n * This error format is particularly valuable for AI function calling\n * scenarios, where LLMs need to understand exactly what went wrong to\n * generate correct parameters. The combination of path, expected type name,\n * actual value, and optional human-readable description provides the AI with\n * comprehensive context to make accurate corrections, which is why\n * ILlmFunction.validate() can achieve such high success rates in validation\n * feedback loops.\n *\n * The value field can contain any type of data, including `undefined` when\n * dealing with missing required properties or null/undefined validation\n * scenarios. This allows for precise error reporting in cases where the AI\n * agent omits required fields or provides null/undefined values\n * inappropriately.\n *\n * Real-world examples from AI function calling:\n *\n * {\n * path: \"$input.member.age\",\n * expected: \"number\",\n * value: \"25\" // AI provided string instead of number\n * }\n *\n * {\n * path: \"$input.count\",\n * expected: \"number & Type<'uint32'>\",\n * value: 20.75 // AI provided float instead of uint32\n * }\n *\n * {\n * path: \"$input.categories\",\n * expected: \"Array<string>\",\n * value: \"technology\" // AI provided string instead of array\n * }\n *\n * {\n * path: \"$input.id\",\n * expected: \"string & Format<'uuid'>\",\n * value: \"invalid-uuid-format\" // AI provided malformed UUID\n * }\n *\n * {\n * path: \"$input.user.name\",\n * expected: \"string\",\n * value: undefined // AI omitted required property\n * }\n */\n interface IError {\n /**\n * The path to the property that failed validation\n *\n * Dot-notation path using $input prefix indicating the exact location of\n * the validation failure within the input object structure. Examples\n * include \"$input.member.age\", \"$input.categories[0]\",\n * \"$input.user.profile.email\"\n */\n path: string;\n /**\n * The expected type name or type expression\n *\n * Technical type specification that describes what type was expected at\n * this path. This follows TypeScript-like syntax with embedded constraint\n * information, such as \"string\", \"number & Type<'uint32'>\",\n * \"Array<string>\", \"string & Format<'uuid'> & MinLength<8>\", etc.\n */\n expected: string;\n /**\n * The actual value that caused the validation failure\n *\n * This field contains the actual value that was provided but failed\n * validation. Note that this value can be `undefined` in cases where a\n * required property is missing or when validating against undefined\n * values.\n */\n value: unknown;\n /**\n * Optional human-readable description of the validation error\n *\n * This field is rarely populated in standard typia validation and is\n * primarily intended for specialized AI agent libraries or custom\n * validation scenarios that require additional context beyond the technical\n * type information. Most validation errors rely solely on the path,\n * expected, and value fields for comprehensive error reporting.\n */\n description?: string;\n }\n}\n",
12528
12528
  "node_modules/@samchon/openapi/lib/utils/AccessorUtil.d.ts": "export declare namespace AccessorUtil {\n const reference: (prefix: string) => string;\n}\n",
12529
- "node_modules/@samchon/openapi/lib/utils/ChatGptTypeChecker.d.ts": "import { IChatGptSchema } from \"../structures/IChatGptSchema\";\nexport declare namespace ChatGptTypeChecker {\n /**\n * Test whether the schema is a nul type.\n *\n * @param schema Target schema\n * @returns Whether null type or not\n */\n const isNull: (schema: IChatGptSchema) => schema is IChatGptSchema.INull;\n /**\n * Test whether the schema is an unknown type.\n *\n * @param schema Target schema\n * @returns Whether unknown type or not\n */\n const isUnknown: (schema: IChatGptSchema) => schema is IChatGptSchema.IUnknown;\n /**\n * Test whether the schema is a boolean type.\n *\n * @param schema Target schema\n * @returns Whether boolean type or not\n */\n const isBoolean: (schema: IChatGptSchema) => schema is IChatGptSchema.IBoolean;\n /**\n * Test whether the schema is an integer type.\n *\n * @param schema Target schema\n * @returns Whether integer type or not\n */\n const isInteger: (schema: IChatGptSchema) => schema is IChatGptSchema.IInteger;\n /**\n * Test whether the schema is a number type.\n *\n * @param schema Target schema\n * @returns Whether number type or not\n */\n const isNumber: (schema: IChatGptSchema) => schema is IChatGptSchema.INumber;\n /**\n * Test whether the schema is a string type.\n *\n * @param schema Target schema\n * @returns Whether string type or not\n */\n const isString: (schema: IChatGptSchema) => schema is IChatGptSchema.IString;\n /**\n * Test whether the schema is an array type.\n *\n * @param schema Target schema\n * @returns Whether array type or not\n */\n const isArray: (schema: IChatGptSchema) => schema is IChatGptSchema.IArray;\n /**\n * Test whether the schema is an object type.\n *\n * @param schema Target schema\n * @returns Whether object type or not\n */\n const isObject: (schema: IChatGptSchema) => schema is IChatGptSchema.IObject;\n /**\n * Test whether the schema is a reference type.\n *\n * @param schema Target schema\n * @returns Whether reference type or not\n */\n const isReference: (schema: IChatGptSchema) => schema is IChatGptSchema.IReference;\n /**\n * Test whether the schema is an union type.\n *\n * @param schema Target schema\n * @returns Whether union type or not\n */\n const isAnyOf: (schema: IChatGptSchema) => schema is IChatGptSchema.IAnyOf;\n /**\n * Visit every nested schemas.\n *\n * Visit every nested schemas of the target, and apply the `props.closure` function.\n *\n * Here is the list of occurring nested visitings:\n *\n * - {@link IChatGptSchema.IAnyOf.anyOf}\n * - {@link IChatGptSchema.IReference}\n * - {@link IChatGptSchema.IObject.properties}\n * - {@link IChatGptSchema.IArray.items}\n *\n * @param props Properties for visiting\n */\n const visit: (props: {\n closure: (schema: IChatGptSchema, accessor: string) => void;\n $defs?: Record<string, IChatGptSchema> | undefined;\n schema: IChatGptSchema;\n accessor?: string;\n refAccessor?: string;\n }) => void;\n /**\n * Test whether the `x` schema covers the `y` schema.\n *\n * @param props Properties for testing\n * @returns Whether the `x` schema covers the `y` schema\n */\n const covers: (props: {\n $defs?: Record<string, IChatGptSchema> | undefined;\n x: IChatGptSchema;\n y: IChatGptSchema;\n }) => boolean;\n}\n",
12529
+ "node_modules/@samchon/openapi/lib/utils/ChatGptTypeChecker.d.ts": "import { IChatGptSchema } from \"../structures/IChatGptSchema\";\nexport declare namespace ChatGptTypeChecker {\n /**\n * Test whether the schema is a nul type.\n *\n * @param schema Target schema\n * @returns Whether null type or not\n */\n const isNull: (schema: IChatGptSchema) => schema is IChatGptSchema.INull;\n /**\n * Test whether the schema is an unknown type.\n *\n * @param schema Target schema\n * @returns Whether unknown type or not\n */\n const isUnknown: (schema: IChatGptSchema) => schema is IChatGptSchema.IUnknown;\n /**\n * Test whether the schema is a boolean type.\n *\n * @param schema Target schema\n * @returns Whether boolean type or not\n */\n const isBoolean: (schema: IChatGptSchema) => schema is IChatGptSchema.IBoolean;\n /**\n * Test whether the schema is an integer type.\n *\n * @param schema Target schema\n * @returns Whether integer type or not\n */\n const isInteger: (schema: IChatGptSchema) => schema is IChatGptSchema.IInteger;\n /**\n * Test whether the schema is a number type.\n *\n * @param schema Target schema\n * @returns Whether number type or not\n */\n const isNumber: (schema: IChatGptSchema) => schema is IChatGptSchema.INumber;\n /**\n * Test whether the schema is a string type.\n *\n * @param schema Target schema\n * @returns Whether string type or not\n */\n const isString: (schema: IChatGptSchema) => schema is IChatGptSchema.IString;\n /**\n * Test whether the schema is an array type.\n *\n * @param schema Target schema\n * @returns Whether array type or not\n */\n const isArray: (schema: IChatGptSchema) => schema is IChatGptSchema.IArray;\n /**\n * Test whether the schema is an object type.\n *\n * @param schema Target schema\n * @returns Whether object type or not\n */\n const isObject: (schema: IChatGptSchema) => schema is IChatGptSchema.IObject;\n /**\n * Test whether the schema is a reference type.\n *\n * @param schema Target schema\n * @returns Whether reference type or not\n */\n const isReference: (schema: IChatGptSchema) => schema is IChatGptSchema.IReference;\n /**\n * Test whether the schema is an union type.\n *\n * @param schema Target schema\n * @returns Whether union type or not\n */\n const isAnyOf: (schema: IChatGptSchema) => schema is IChatGptSchema.IAnyOf;\n /**\n * Visit every nested schemas.\n *\n * Visit every nested schemas of the target, and apply the `props.closure`\n * function.\n *\n * Here is the list of occurring nested visitings:\n *\n * - {@link IChatGptSchema.IAnyOf.anyOf}\n * - {@link IChatGptSchema.IReference}\n * - {@link IChatGptSchema.IObject.properties}\n * - {@link IChatGptSchema.IArray.items}\n *\n * @param props Properties for visiting\n */\n const visit: (props: {\n closure: (schema: IChatGptSchema, accessor: string) => void;\n $defs?: Record<string, IChatGptSchema> | undefined;\n schema: IChatGptSchema;\n accessor?: string;\n refAccessor?: string;\n }) => void;\n /**\n * Test whether the `x` schema covers the `y` schema.\n *\n * @param props Properties for testing\n * @returns Whether the `x` schema covers the `y` schema\n */\n const covers: (props: {\n $defs?: Record<string, IChatGptSchema> | undefined;\n x: IChatGptSchema;\n y: IChatGptSchema;\n }) => boolean;\n}\n",
12530
12530
  "node_modules/@samchon/openapi/lib/utils/ClaudeTypeChecker.d.ts": "import { LlmTypeCheckerV3_1 } from \"./LlmTypeCheckerV3_1\";\nexport declare const ClaudeTypeChecker: typeof LlmTypeCheckerV3_1;\n",
12531
12531
  "node_modules/@samchon/openapi/lib/utils/DeepSeekTypeChecker.d.ts": "import { LlmTypeCheckerV3_1 } from \"./LlmTypeCheckerV3_1\";\nexport declare const DeepSeekTypeChecker: typeof LlmTypeCheckerV3_1;\n",
12532
12532
  "node_modules/@samchon/openapi/lib/utils/EndpointUtil.d.ts": "export declare namespace EndpointUtil {\n const capitalize: (str: string) => string;\n const pascal: (path: string) => string;\n const splitWithNormalization: (path: string) => string[];\n const reJoinWithDecimalParameters: (path: string) => string;\n const normalize: (str: string) => string;\n const escapeDuplicate: (keep: string[]) => (change: string) => string;\n}\n",
12533
12533
  "node_modules/@samchon/openapi/lib/utils/Escaper.d.ts": "export declare namespace Escaper {\n const variable: (str: string) => boolean;\n const reserved: (str: string) => boolean;\n}\n",
12534
- "node_modules/@samchon/openapi/lib/utils/GeminiTypeChecker.d.ts": "import { IGeminiSchema } from \"../structures/IGeminiSchema\";\n/**\n * Type checker for Gemini type schema.\n *\n * `GeminiTypeChecker` is a type checker of {@link IGeminiSchema}.\n *\n * @author Samchon\n */\nexport declare namespace GeminiTypeChecker {\n /**\n * Visit every nested schemas.\n *\n * Visit every nested schemas of the target, and apply the `props.closure` function.\n *\n * Here is the list of occurring nested visitings:\n *\n * - {@link IGeminiSchema.IObject.properties}\n * - {@link IGeminiSchema.IArray.items}\n *\n * @param props Properties for visiting\n */\n const visit: (props: {\n closure: (schema: IGeminiSchema, accessor: string) => void;\n schema: IGeminiSchema;\n accessor?: string;\n }) => void;\n /**\n * Test whether the `x` schema covers the `y` schema.\n *\n * @param props Properties for testing\n * @returns Whether the `x` schema covers the `y` schema\n */\n const covers: (x: IGeminiSchema, y: IGeminiSchema) => boolean;\n /**\n * Test whether the schema is a boolean type.\n *\n * @param schema Target schema\n * @returns Whether boolean type or not\n */\n const isBoolean: (schema: IGeminiSchema) => schema is IGeminiSchema.IBoolean;\n /**\n * Test whether the schema is an integer type.\n *\n * @param schema Target schema\n * @returns Whether integer type or not\n */\n const isInteger: (schema: IGeminiSchema) => schema is IGeminiSchema.IInteger;\n /**\n * Test whether the schema is a number type.\n *\n * @param schema Target schema\n * @returns Whether number type or not\n */\n const isNumber: (schema: IGeminiSchema) => schema is IGeminiSchema.INumber;\n /**\n * Test whether the schema is a string type.\n *\n * @param schema Target schema\n * @returns Whether string type or not\n */\n const isString: (schema: IGeminiSchema) => schema is IGeminiSchema.IString;\n /**\n * Test whether the schema is an array type.\n *\n * @param schema Target schema\n * @returns Whether array type or not\n */\n const isArray: (schema: IGeminiSchema) => schema is IGeminiSchema.IArray;\n /**\n * Test whether the schema is an object type.\n *\n * @param schema Target schema\n * @returns Whether object type or not\n */\n const isObject: (schema: IGeminiSchema) => schema is IGeminiSchema.IObject;\n /**\n * Test whether the schema is a null type.\n *\n * @param schema Target schema\n * @returns Whether null type or not\n */\n const isNullOnly: (schema: IGeminiSchema) => schema is IGeminiSchema.INullOnly;\n /**\n * Test whether the schema is a nullable type.\n *\n * @param schema Target schema\n * @returns Whether nullable type or not\n */\n const isNullable: (schema: IGeminiSchema) => boolean;\n /**\n * Test whether the schema is an unknown type.\n *\n * @param schema Target schema\n * @returns Whether unknown type or not\n */\n const isUnknown: (schema: IGeminiSchema) => schema is IGeminiSchema.IUnknown;\n}\n",
12534
+ "node_modules/@samchon/openapi/lib/utils/GeminiTypeChecker.d.ts": "import { IGeminiSchema } from \"../structures/IGeminiSchema\";\n/**\n * Type checker for Gemini type schema.\n *\n * `GeminiTypeChecker` is a type checker of {@link IGeminiSchema}.\n *\n * @author Samchon\n */\nexport declare namespace GeminiTypeChecker {\n /**\n * Visit every nested schemas.\n *\n * Visit every nested schemas of the target, and apply the `props.closure`\n * function.\n *\n * Here is the list of occurring nested visitings:\n *\n * - {@link IGeminiSchema.IObject.properties}\n * - {@link IGeminiSchema.IArray.items}\n *\n * @param props Properties for visiting\n */\n const visit: (props: {\n closure: (schema: IGeminiSchema, accessor: string) => void;\n schema: IGeminiSchema;\n accessor?: string;\n }) => void;\n /**\n * Test whether the `x` schema covers the `y` schema.\n *\n * @param props Properties for testing\n * @returns Whether the `x` schema covers the `y` schema\n */\n const covers: (x: IGeminiSchema, y: IGeminiSchema) => boolean;\n /**\n * Test whether the schema is a boolean type.\n *\n * @param schema Target schema\n * @returns Whether boolean type or not\n */\n const isBoolean: (schema: IGeminiSchema) => schema is IGeminiSchema.IBoolean;\n /**\n * Test whether the schema is an integer type.\n *\n * @param schema Target schema\n * @returns Whether integer type or not\n */\n const isInteger: (schema: IGeminiSchema) => schema is IGeminiSchema.IInteger;\n /**\n * Test whether the schema is a number type.\n *\n * @param schema Target schema\n * @returns Whether number type or not\n */\n const isNumber: (schema: IGeminiSchema) => schema is IGeminiSchema.INumber;\n /**\n * Test whether the schema is a string type.\n *\n * @param schema Target schema\n * @returns Whether string type or not\n */\n const isString: (schema: IGeminiSchema) => schema is IGeminiSchema.IString;\n /**\n * Test whether the schema is an array type.\n *\n * @param schema Target schema\n * @returns Whether array type or not\n */\n const isArray: (schema: IGeminiSchema) => schema is IGeminiSchema.IArray;\n /**\n * Test whether the schema is an object type.\n *\n * @param schema Target schema\n * @returns Whether object type or not\n */\n const isObject: (schema: IGeminiSchema) => schema is IGeminiSchema.IObject;\n /**\n * Test whether the schema is a null type.\n *\n * @param schema Target schema\n * @returns Whether null type or not\n */\n const isNullOnly: (schema: IGeminiSchema) => schema is IGeminiSchema.INullOnly;\n /**\n * Test whether the schema is a nullable type.\n *\n * @param schema Target schema\n * @returns Whether nullable type or not\n */\n const isNullable: (schema: IGeminiSchema) => boolean;\n /**\n * Test whether the schema is an unknown type.\n *\n * @param schema Target schema\n * @returns Whether unknown type or not\n */\n const isUnknown: (schema: IGeminiSchema) => schema is IGeminiSchema.IUnknown;\n}\n",
12535
12535
  "node_modules/@samchon/openapi/lib/utils/LlamaTypeChecker.d.ts": "import { LlmTypeCheckerV3_1 } from \"./LlmTypeCheckerV3_1\";\nexport declare const LlamaTypeChecker: typeof LlmTypeCheckerV3_1;\n",
12536
- "node_modules/@samchon/openapi/lib/utils/LlmDataMerger.d.ts": "import { ILlmFunction } from \"../structures/ILlmFunction\";\nimport { ILlmSchema } from \"../structures/ILlmSchema\";\n/**\n * Data combiner for LLM function call.\n *\n * @author Samchon\n */\nexport declare namespace LlmDataMerger {\n /**\n * Properties of {@link parameters} function.\n */\n interface IProps<Model extends ILlmSchema.Model> {\n /**\n * Target function to call.\n */\n function: ILlmFunction<Model>;\n /**\n * Arguments composed by LLM (Large Language Model).\n */\n llm: object | null;\n /**\n * Arguments composed by human.\n */\n human: object | null;\n }\n /**\n * Combine LLM and human arguments into one.\n *\n * When you composes {@link IOpenAiDocument} with\n * {@link IOpenAiDocument.IOptions.separate} option, then the arguments of the\n * target function would be separated into two parts; LLM (Large Language Model)\n * and human.\n *\n * In that case, you can combine both LLM and human composed arguments into one\n * by utilizing this {@link LlmDataMerger.parameters} function, referencing\n * the target function metadata {@link IOpenAiFunction.separated}.\n *\n * @param props Properties to combine LLM and human arguments with metadata.\n * @returns Combined arguments\n */\n const parameters: <Model extends ILlmSchema.Model>(props: IProps<Model>) => object;\n /**\n * Combine two values into one.\n *\n * If both values are objects, then combines them in the properties level.\n *\n * Otherwise, returns the latter value if it's not null, otherwise the former value\n *\n * - `return (y ?? x)`\n *\n * @param x Value X\n * @param y Value Y\n * @returns Combined value\n */\n const value: (x: unknown, y: unknown) => unknown;\n}\n",
12537
- "node_modules/@samchon/openapi/lib/utils/LlmTypeCheckerV3.d.ts": "import { ILlmSchemaV3 } from \"../structures/ILlmSchemaV3\";\n/**\n * Type checker for LLM type schema.\n *\n * `LlmSchemaTypeChecker` is a type checker of {@link ILlmSchemaV3}.\n *\n * @author Samchon\n */\nexport declare namespace LlmTypeCheckerV3 {\n /**\n * Visit every nested schemas.\n *\n * Visit every nested schemas of the target, and apply the `props.closure` function.\n *\n * Here is the list of occurring nested visitings:\n *\n * - {@link ILlmSchemaV3.IOneOf.oneOf}\n * - {@link ILlmSchemaV3.IObject.additionalProperties}\n * - {@link ILlmSchemaV3.IArray.items}\n *\n * @param props Properties for visiting\n */\n const visit: (props: {\n closure: (schema: ILlmSchemaV3, accessor: string) => void;\n schema: ILlmSchemaV3;\n accessor?: string;\n }) => void;\n const covers: (x: ILlmSchemaV3, y: ILlmSchemaV3) => boolean;\n /**\n * Test whether the schema is an union type.\n *\n * @param schema Target schema\n * @returns Whether union type or not\n */\n const isOneOf: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.IOneOf;\n /**\n * Test whether the schema is an object type.\n *\n * @param schema Target schema\n * @returns Whether object type or not\n */\n const isObject: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.IObject;\n /**\n * Test whether the schema is an array type.\n *\n * @param schema Target schema\n * @returns Whether array type or not\n */\n const isArray: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.IArray;\n /**\n * Test whether the schema is a boolean type.\n *\n * @param schema Target schema\n * @returns Whether boolean type or not\n */\n const isBoolean: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.IBoolean;\n /**\n * Test whether the schema is an integer type.\n *\n * @param schema Target schema\n * @returns Whether integer type or not\n */\n const isInteger: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.IInteger;\n /**\n * Test whether the schema is a number type.\n *\n * @param schema Target schema\n * @returns Whether number type or not\n */\n const isNumber: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.INumber;\n /**\n * Test whether the schema is a string type.\n *\n * @param schema Target schema\n * @returns Whether string type or not\n */\n const isString: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.IString;\n /**\n * Test whether the schema is a null type.\n *\n * @param schema Target schema\n * @returns Whether null type or not\n */\n const isNullOnly: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.INullOnly;\n /**\n * Test whether the schema is a nullable type.\n *\n * @param schema Target schema\n * @returns Whether nullable type or not\n */\n const isNullable: (schema: ILlmSchemaV3) => boolean;\n /**\n * Test whether the schema is an unknown type.\n *\n * @param schema Target schema\n * @returns Whether unknown type or not\n */\n const isUnknown: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.IUnknown;\n}\n",
12538
- "node_modules/@samchon/openapi/lib/utils/LlmTypeCheckerV3_1.d.ts": "import { ILlmSchemaV3_1 } from \"../structures/ILlmSchemaV3_1\";\nexport declare namespace LlmTypeCheckerV3_1 {\n /**\n * Test whether the schema is a nul type.\n *\n * @param schema Target schema\n * @returns Whether null type or not\n */\n const isNull: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.INull;\n /**\n * Test whether the schema is an unknown type.\n *\n * @param schema Target schema\n * @returns Whether unknown type or not\n */\n const isUnknown: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.IUnknown;\n /**\n * Test whether the schema is a constant type.\n *\n * @param schema Target schema\n * @returns Whether constant type or not\n */\n const isConstant: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.IConstant;\n /**\n * Test whether the schema is a boolean type.\n *\n * @param schema Target schema\n * @returns Whether boolean type or not\n */\n const isBoolean: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.IBoolean;\n /**\n * Test whether the schema is an integer type.\n *\n * @param schema Target schema\n * @returns Whether integer type or not\n */\n const isInteger: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.IInteger;\n /**\n * Test whether the schema is a number type.\n *\n * @param schema Target schema\n * @returns Whether number type or not\n */\n const isNumber: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.INumber;\n /**\n * Test whether the schema is a string type.\n *\n * @param schema Target schema\n * @returns Whether string type or not\n */\n const isString: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.IString;\n /**\n * Test whether the schema is an array type.\n *\n * @param schema Target schema\n * @returns Whether array type or not\n */\n const isArray: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.IArray;\n /**\n * Test whether the schema is an object type.\n *\n * @param schema Target schema\n * @returns Whether object type or not\n */\n const isObject: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.IObject;\n /**\n * Test whether the schema is a reference type.\n *\n * @param schema Target schema\n * @returns Whether reference type or not\n */\n const isReference: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.IReference;\n /**\n * Test whether the schema is an union type.\n *\n * @param schema Target schema\n * @returns Whether union type or not\n */\n const isOneOf: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.IOneOf;\n /**\n * Test whether the schema is recursive reference type.\n *\n * Test whether the target schema is a reference type, and test one thing more\n * that the reference is self-recursive or not.\n *\n * @param props Properties for recursive reference test\n * @returns Whether the schema is recursive reference type or not\n */\n const isRecursiveReference: (props: {\n $defs?: Record<string, ILlmSchemaV3_1>;\n schema: ILlmSchemaV3_1;\n }) => boolean;\n /**\n * Test whether the `x` schema covers the `y` schema.\n *\n * @param props Properties for testing\n * @returns Whether the `x` schema covers the `y` schema\n */\n const covers: (props: {\n $defs?: Record<string, ILlmSchemaV3_1>;\n x: ILlmSchemaV3_1;\n y: ILlmSchemaV3_1;\n }) => boolean;\n /**\n * Visit every nested schemas.\n *\n * Visit every nested schemas of the target, and apply the `props.closure` function.\n *\n * Here is the list of occurring nested visitings:\n *\n * - {@link ILlmSchemaV3_1.IOneOf.oneOf}\n * - {@link ILlmSchemaV3_1.IReference}\n * - {@link ILlmSchemaV3_1.IObject.properties}\n * - {@link ILlmSchemaV3_1.IObject.additionalProperties}\n * - {@link ILlmSchemaV3_1.IArray.items}\n *\n * @param props Properties for visiting\n */\n const visit: (props: {\n closure: (schema: ILlmSchemaV3_1, accessor: string) => void;\n $defs?: Record<string, ILlmSchemaV3_1>;\n schema: ILlmSchemaV3_1;\n }) => void;\n}\n",
12536
+ "node_modules/@samchon/openapi/lib/utils/LlmDataMerger.d.ts": "import { ILlmFunction } from \"../structures/ILlmFunction\";\nimport { ILlmSchema } from \"../structures/ILlmSchema\";\n/**\n * Data combiner for LLM function call.\n *\n * @author Samchon\n */\nexport declare namespace LlmDataMerger {\n /** Properties of {@link parameters} function. */\n interface IProps<Model extends ILlmSchema.Model> {\n /** Target function to call. */\n function: ILlmFunction<Model>;\n /** Arguments composed by LLM (Large Language Model). */\n llm: object | null;\n /** Arguments composed by human. */\n human: object | null;\n }\n /**\n * Combine LLM and human arguments into one.\n *\n * When you composes {@link IOpenAiDocument} with\n * {@link IOpenAiDocument.IOptions.separate} option, then the arguments of the\n * target function would be separated into two parts; LLM (Large Language\n * Model) and human.\n *\n * In that case, you can combine both LLM and human composed arguments into\n * one by utilizing this {@link LlmDataMerger.parameters} function, referencing\n * the target function metadata {@link IOpenAiFunction.separated}.\n *\n * @param props Properties to combine LLM and human arguments with metadata.\n * @returns Combined arguments\n */\n const parameters: <Model extends ILlmSchema.Model>(props: IProps<Model>) => object;\n /**\n * Combine two values into one.\n *\n * If both values are objects, then combines them in the properties level.\n *\n * Otherwise, returns the latter value if it's not null, otherwise the former\n * value\n *\n * - `return (y ?? x)`\n *\n * @param x Value X\n * @param y Value Y\n * @returns Combined value\n */\n const value: (x: unknown, y: unknown) => unknown;\n}\n",
12537
+ "node_modules/@samchon/openapi/lib/utils/LlmTypeCheckerV3.d.ts": "import { ILlmSchemaV3 } from \"../structures/ILlmSchemaV3\";\n/**\n * Type checker for LLM type schema.\n *\n * `LlmSchemaTypeChecker` is a type checker of {@link ILlmSchemaV3}.\n *\n * @author Samchon\n */\nexport declare namespace LlmTypeCheckerV3 {\n /**\n * Visit every nested schemas.\n *\n * Visit every nested schemas of the target, and apply the `props.closure`\n * function.\n *\n * Here is the list of occurring nested visitings:\n *\n * - {@link ILlmSchemaV3.IOneOf.oneOf}\n * - {@link ILlmSchemaV3.IObject.additionalProperties}\n * - {@link ILlmSchemaV3.IArray.items}\n *\n * @param props Properties for visiting\n */\n const visit: (props: {\n closure: (schema: ILlmSchemaV3, accessor: string) => void;\n schema: ILlmSchemaV3;\n accessor?: string;\n }) => void;\n const covers: (x: ILlmSchemaV3, y: ILlmSchemaV3) => boolean;\n /**\n * Test whether the schema is an union type.\n *\n * @param schema Target schema\n * @returns Whether union type or not\n */\n const isOneOf: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.IOneOf;\n /**\n * Test whether the schema is an object type.\n *\n * @param schema Target schema\n * @returns Whether object type or not\n */\n const isObject: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.IObject;\n /**\n * Test whether the schema is an array type.\n *\n * @param schema Target schema\n * @returns Whether array type or not\n */\n const isArray: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.IArray;\n /**\n * Test whether the schema is a boolean type.\n *\n * @param schema Target schema\n * @returns Whether boolean type or not\n */\n const isBoolean: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.IBoolean;\n /**\n * Test whether the schema is an integer type.\n *\n * @param schema Target schema\n * @returns Whether integer type or not\n */\n const isInteger: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.IInteger;\n /**\n * Test whether the schema is a number type.\n *\n * @param schema Target schema\n * @returns Whether number type or not\n */\n const isNumber: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.INumber;\n /**\n * Test whether the schema is a string type.\n *\n * @param schema Target schema\n * @returns Whether string type or not\n */\n const isString: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.IString;\n /**\n * Test whether the schema is a null type.\n *\n * @param schema Target schema\n * @returns Whether null type or not\n */\n const isNullOnly: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.INullOnly;\n /**\n * Test whether the schema is a nullable type.\n *\n * @param schema Target schema\n * @returns Whether nullable type or not\n */\n const isNullable: (schema: ILlmSchemaV3) => boolean;\n /**\n * Test whether the schema is an unknown type.\n *\n * @param schema Target schema\n * @returns Whether unknown type or not\n */\n const isUnknown: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.IUnknown;\n}\n",
12538
+ "node_modules/@samchon/openapi/lib/utils/LlmTypeCheckerV3_1.d.ts": "import { ILlmSchemaV3_1 } from \"../structures/ILlmSchemaV3_1\";\nexport declare namespace LlmTypeCheckerV3_1 {\n /**\n * Test whether the schema is a nul type.\n *\n * @param schema Target schema\n * @returns Whether null type or not\n */\n const isNull: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.INull;\n /**\n * Test whether the schema is an unknown type.\n *\n * @param schema Target schema\n * @returns Whether unknown type or not\n */\n const isUnknown: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.IUnknown;\n /**\n * Test whether the schema is a constant type.\n *\n * @param schema Target schema\n * @returns Whether constant type or not\n */\n const isConstant: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.IConstant;\n /**\n * Test whether the schema is a boolean type.\n *\n * @param schema Target schema\n * @returns Whether boolean type or not\n */\n const isBoolean: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.IBoolean;\n /**\n * Test whether the schema is an integer type.\n *\n * @param schema Target schema\n * @returns Whether integer type or not\n */\n const isInteger: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.IInteger;\n /**\n * Test whether the schema is a number type.\n *\n * @param schema Target schema\n * @returns Whether number type or not\n */\n const isNumber: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.INumber;\n /**\n * Test whether the schema is a string type.\n *\n * @param schema Target schema\n * @returns Whether string type or not\n */\n const isString: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.IString;\n /**\n * Test whether the schema is an array type.\n *\n * @param schema Target schema\n * @returns Whether array type or not\n */\n const isArray: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.IArray;\n /**\n * Test whether the schema is an object type.\n *\n * @param schema Target schema\n * @returns Whether object type or not\n */\n const isObject: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.IObject;\n /**\n * Test whether the schema is a reference type.\n *\n * @param schema Target schema\n * @returns Whether reference type or not\n */\n const isReference: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.IReference;\n /**\n * Test whether the schema is an union type.\n *\n * @param schema Target schema\n * @returns Whether union type or not\n */\n const isOneOf: (schema: ILlmSchemaV3_1) => schema is ILlmSchemaV3_1.IOneOf;\n /**\n * Test whether the schema is recursive reference type.\n *\n * Test whether the target schema is a reference type, and test one thing more\n * that the reference is self-recursive or not.\n *\n * @param props Properties for recursive reference test\n * @returns Whether the schema is recursive reference type or not\n */\n const isRecursiveReference: (props: {\n $defs?: Record<string, ILlmSchemaV3_1>;\n schema: ILlmSchemaV3_1;\n }) => boolean;\n /**\n * Test whether the `x` schema covers the `y` schema.\n *\n * @param props Properties for testing\n * @returns Whether the `x` schema covers the `y` schema\n */\n const covers: (props: {\n $defs?: Record<string, ILlmSchemaV3_1>;\n x: ILlmSchemaV3_1;\n y: ILlmSchemaV3_1;\n }) => boolean;\n /**\n * Visit every nested schemas.\n *\n * Visit every nested schemas of the target, and apply the `props.closure`\n * function.\n *\n * Here is the list of occurring nested visitings:\n *\n * - {@link ILlmSchemaV3_1.IOneOf.oneOf}\n * - {@link ILlmSchemaV3_1.IReference}\n * - {@link ILlmSchemaV3_1.IObject.properties}\n * - {@link ILlmSchemaV3_1.IObject.additionalProperties}\n * - {@link ILlmSchemaV3_1.IArray.items}\n *\n * @param props Properties for visiting\n */\n const visit: (props: {\n closure: (schema: ILlmSchemaV3_1, accessor: string) => void;\n $defs?: Record<string, ILlmSchemaV3_1>;\n schema: ILlmSchemaV3_1;\n }) => void;\n}\n",
12539
12539
  "node_modules/@samchon/openapi/lib/utils/MapUtil.d.ts": "export declare namespace MapUtil {\n const take: <Key, T>(dict: Map<Key, T>) => (key: Key) => (generator: () => T) => T;\n}\n",
12540
12540
  "node_modules/@samchon/openapi/lib/utils/NamingConvention.d.ts": "export declare namespace NamingConvention {\n function snake(str: string): string;\n function camel(str: string): string;\n function pascal(str: string): string;\n const capitalize: (str: string) => string;\n const variable: (str: string) => boolean;\n const reserved: (str: string) => boolean;\n}\n",
12541
12541
  "node_modules/@samchon/openapi/lib/utils/OpenApiConstraintShifter.d.ts": "import { OpenApi } from \"../OpenApi\";\nexport declare namespace OpenApiConstraintShifter {\n const shiftArray: <Schema extends Pick<OpenApi.IJsonSchema.IArray, \"description\" | \"minItems\" | \"maxItems\" | \"uniqueItems\">>(schema: Schema) => Omit<Schema, \"minItems\" | \"maxItems\" | \"uniqueItems\">;\n const shiftNumeric: <Schema extends Pick<OpenApi.IJsonSchema.INumber | OpenApi.IJsonSchema.IInteger, \"description\" | \"minimum\" | \"maximum\" | \"exclusiveMinimum\" | \"exclusiveMaximum\" | \"multipleOf\" | \"default\">>(schema: Schema) => Omit<Schema, \"minimum\" | \"maximum\" | \"exclusiveMinimum\" | \"exclusiveMaximum\" | \"multipleOf\" | \"default\">;\n const shiftString: <Schema extends Pick<OpenApi.IJsonSchema.IString, \"description\" | \"minLength\" | \"maxLength\" | \"format\" | \"pattern\" | \"contentMediaType\" | \"default\">>(schema: Schema) => Omit<Schema, \"minLength\" | \"maxLength\" | \"format\" | \"pattern\" | \"contentMediaType\" | \"default\">;\n}\n",
12542
12542
  "node_modules/@samchon/openapi/lib/utils/OpenApiExclusiveEmender.d.ts": "import { OpenApi } from \"../OpenApi\";\nexport declare namespace OpenApiExclusiveEmender {\n const emend: <Schema extends Pick<OpenApi.IJsonSchema.INumber, \"exclusiveMinimum\" | \"exclusiveMaximum\" | \"minimum\" | \"maximum\">>(schema: Schema) => Schema;\n}\n",
12543
- "node_modules/@samchon/openapi/lib/utils/OpenApiTypeChecker.d.ts": "import { OpenApi } from \"../OpenApi\";\nimport { IOpenApiSchemaError } from \"../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../structures/IResult\";\n/**\n * Type checker of OpenAPI type schema.\n *\n * `OpenApiTypeChecker` is a type checker of {@link OpenApi.IJsonSchema}.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace OpenApiTypeChecker {\n /**\n * Test whether the schema is a nul type.\n *\n * @param schema Target schema\n * @returns Whether null type or not\n */\n const isNull: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.INull;\n /**\n * Test whether the schema is an unknown type.\n *\n * @param schema Target schema\n * @returns Whether unknown type or not\n */\n const isUnknown: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IUnknown;\n /**\n * Test whether the schema is a constant type.\n *\n * @param schema Target schema\n * @returns Whether constant type or not\n */\n const isConstant: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IConstant;\n /**\n * Test whether the schema is a boolean type.\n *\n * @param schema Target schema\n * @returns Whether boolean type or not\n */\n const isBoolean: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IBoolean;\n /**\n * Test whether the schema is an integer type.\n *\n * @param schema Target schema\n * @returns Whether integer type or not\n */\n const isInteger: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IInteger;\n /**\n * Test whether the schema is a number type.\n *\n * @param schema Target schema\n * @returns Whether number type or not\n */\n const isNumber: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.INumber;\n /**\n * Test whether the schema is a string type.\n *\n * @param schema Target schema\n * @returns Whether string type or not\n */\n const isString: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IString;\n /**\n * Test whether the schema is an array type.\n *\n * @param schema Target schema\n * @returns Whether array type or not\n */\n const isArray: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IArray;\n /**\n * Test whether the schema is a tuple type.\n *\n * @param schema Target schema\n * @returns Whether tuple type or not\n */\n const isTuple: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.ITuple;\n /**\n * Test whether the schema is an object type.\n *\n * @param schema Target schema\n * @returns Whether object type or not\n */\n const isObject: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IObject;\n /**\n * Test whether the schema is a reference type.\n *\n * @param schema Target schema\n * @returns Whether reference type or not\n */\n const isReference: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IReference;\n /**\n * Test whether the schema is an union type.\n *\n * @param schema Target schema\n * @returns Whether union type or not\n */\n const isOneOf: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IOneOf;\n /**\n * Test whether the schema is recursive reference type.\n *\n * Test whether the target schema is a reference type, and test one thing more\n * that the reference is self-recursive or not.\n *\n * @param props Properties for recursive reference test\n * @returns Whether the schema is recursive reference type or not\n */\n const isRecursiveReference: (props: {\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema;\n }) => boolean;\n /**\n * Escape from the {@link OpenApi.IJsonSchema.IReference} type.\n *\n * Escape from the {@link OpenApi.IJsonSchema.IReference} type, replacing the\n * every references to the actual schemas. If the escape is successful, the returned\n * schema never contains any {@link OpenApi.IJsonSchema.IReference} type in its\n * structure.\n *\n * If the schema has a recursive reference, the recursive reference would be repeated\n * as much as the `props.recursive` depth. If you've configured the `props.recursive`\n * as `false` or `0`, it would be failed and return an {@link IOpenApiSchemaError}.\n * Also, if there's a {@link OpenApi.IJsonSchema.IReference} type which cannot find\n * the matched type in the {@link OpenApi.IComponents.schemas}, it would also be failed\n * and return an {@link IOpenApiSchemaError} either.\n *\n * @param props Properties for escaping\n * @returns Escaped schema, or error with reason\n */\n const escape: (props: {\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema;\n recursive: false | number;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<OpenApi.IJsonSchema, IOpenApiSchemaError>;\n /**\n * Unreference the schema.\n *\n * Unreference the schema, replacing the {@link OpenApi.IJsonSchema.IReference} type\n * to the actual schema. Different with {@link escape} is, the `unreference` function\n * does not resolve every references in the schema, but resolve only one time.\n *\n * If there's a {@link OpenApi.IJsonSchema.IReference} type which cannot find\n * the matched type in the {@link OpenApi.IComponents.schemas}, and you've called this\n * `unreference()` function with the reference, it would also be failed and return an\n * {@link IOpenApiSchemaError} value.\n *\n * @param props Properties of unreference\n * @returns Unreferenced schema\n */\n const unreference: (props: {\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<OpenApi.IJsonSchema, IOpenApiSchemaError>;\n /**\n * Visit every nested schemas.\n *\n * Visit every nested schemas of the target, and apply the `props.closure` function.\n *\n * Here is the list of occurring nested visitings:\n *\n * - {@link OpenApi.IJsonSchema.IOneOf.oneOf}\n * - {@link OpenApi.IJsonSchema.IReference}\n * - {@link OpenApi.IJsonSchema.IObject.properties}\n * - {@link OpenApi.IJsonSchema.IObject.additionalProperties}\n * - {@link OpenApi.IJsonSchema.IArray.items}\n * - {@link OpenApi.IJsonSchema.ITuple.prefixItems}\n * - {@link OpenApi.IJsonSchema.ITuple.additionalItems}\n *\n * @param props Properties for visiting\n */\n const visit: (props: {\n closure: (schema: OpenApi.IJsonSchema, accessor: string) => void;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => void;\n /**\n * Test whether the `x` schema covers the `y` schema.\n *\n * @param props Properties for testing\n * @returns Whether the `x` schema covers the `y` schema\n */\n const covers: (props: {\n components: OpenApi.IComponents;\n x: OpenApi.IJsonSchema;\n y: OpenApi.IJsonSchema;\n }) => boolean;\n}\n",
12543
+ "node_modules/@samchon/openapi/lib/utils/OpenApiTypeChecker.d.ts": "import { OpenApi } from \"../OpenApi\";\nimport { IOpenApiSchemaError } from \"../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../structures/IResult\";\n/**\n * Type checker of OpenAPI type schema.\n *\n * `OpenApiTypeChecker` is a type checker of {@link OpenApi.IJsonSchema}.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace OpenApiTypeChecker {\n /**\n * Test whether the schema is a nul type.\n *\n * @param schema Target schema\n * @returns Whether null type or not\n */\n const isNull: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.INull;\n /**\n * Test whether the schema is an unknown type.\n *\n * @param schema Target schema\n * @returns Whether unknown type or not\n */\n const isUnknown: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IUnknown;\n /**\n * Test whether the schema is a constant type.\n *\n * @param schema Target schema\n * @returns Whether constant type or not\n */\n const isConstant: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IConstant;\n /**\n * Test whether the schema is a boolean type.\n *\n * @param schema Target schema\n * @returns Whether boolean type or not\n */\n const isBoolean: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IBoolean;\n /**\n * Test whether the schema is an integer type.\n *\n * @param schema Target schema\n * @returns Whether integer type or not\n */\n const isInteger: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IInteger;\n /**\n * Test whether the schema is a number type.\n *\n * @param schema Target schema\n * @returns Whether number type or not\n */\n const isNumber: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.INumber;\n /**\n * Test whether the schema is a string type.\n *\n * @param schema Target schema\n * @returns Whether string type or not\n */\n const isString: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IString;\n /**\n * Test whether the schema is an array type.\n *\n * @param schema Target schema\n * @returns Whether array type or not\n */\n const isArray: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IArray;\n /**\n * Test whether the schema is a tuple type.\n *\n * @param schema Target schema\n * @returns Whether tuple type or not\n */\n const isTuple: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.ITuple;\n /**\n * Test whether the schema is an object type.\n *\n * @param schema Target schema\n * @returns Whether object type or not\n */\n const isObject: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IObject;\n /**\n * Test whether the schema is a reference type.\n *\n * @param schema Target schema\n * @returns Whether reference type or not\n */\n const isReference: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IReference;\n /**\n * Test whether the schema is an union type.\n *\n * @param schema Target schema\n * @returns Whether union type or not\n */\n const isOneOf: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IOneOf;\n /**\n * Test whether the schema is recursive reference type.\n *\n * Test whether the target schema is a reference type, and test one thing more\n * that the reference is self-recursive or not.\n *\n * @param props Properties for recursive reference test\n * @returns Whether the schema is recursive reference type or not\n */\n const isRecursiveReference: (props: {\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema;\n }) => boolean;\n /**\n * Escape from the {@link OpenApi.IJsonSchema.IReference} type.\n *\n * Escape from the {@link OpenApi.IJsonSchema.IReference} type, replacing the\n * every references to the actual schemas. If the escape is successful, the\n * returned schema never contains any {@link OpenApi.IJsonSchema.IReference}\n * type in its structure.\n *\n * If the schema has a recursive reference, the recursive reference would be\n * repeated as much as the `props.recursive` depth. If you've configured the\n * `props.recursive` as `false` or `0`, it would be failed and return an\n * {@link IOpenApiSchemaError}. Also, if there's a\n * {@link OpenApi.IJsonSchema.IReference} type which cannot find the matched\n * type in the {@link OpenApi.IComponents.schemas}, it would also be failed and\n * return an {@link IOpenApiSchemaError} either.\n *\n * @param props Properties for escaping\n * @returns Escaped schema, or error with reason\n */\n const escape: (props: {\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema;\n recursive: false | number;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<OpenApi.IJsonSchema, IOpenApiSchemaError>;\n /**\n * Unreference the schema.\n *\n * Unreference the schema, replacing the {@link OpenApi.IJsonSchema.IReference}\n * type to the actual schema. Different with {@link escape} is, the\n * `unreference` function does not resolve every references in the schema, but\n * resolve only one time.\n *\n * If there's a {@link OpenApi.IJsonSchema.IReference} type which cannot find\n * the matched type in the {@link OpenApi.IComponents.schemas}, and you've\n * called this `unreference()` function with the reference, it would also be\n * failed and return an {@link IOpenApiSchemaError} value.\n *\n * @param props Properties of unreference\n * @returns Unreferenced schema\n */\n const unreference: (props: {\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<OpenApi.IJsonSchema, IOpenApiSchemaError>;\n /**\n * Visit every nested schemas.\n *\n * Visit every nested schemas of the target, and apply the `props.closure`\n * function.\n *\n * Here is the list of occurring nested visitings:\n *\n * - {@link OpenApi.IJsonSchema.IOneOf.oneOf}\n * - {@link OpenApi.IJsonSchema.IReference}\n * - {@link OpenApi.IJsonSchema.IObject.properties}\n * - {@link OpenApi.IJsonSchema.IObject.additionalProperties}\n * - {@link OpenApi.IJsonSchema.IArray.items}\n * - {@link OpenApi.IJsonSchema.ITuple.prefixItems}\n * - {@link OpenApi.IJsonSchema.ITuple.additionalItems}\n *\n * @param props Properties for visiting\n */\n const visit: (props: {\n closure: (schema: OpenApi.IJsonSchema, accessor: string) => void;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => void;\n /**\n * Test whether the `x` schema covers the `y` schema.\n *\n * @param props Properties for testing\n * @returns Whether the `x` schema covers the `y` schema\n */\n const covers: (props: {\n components: OpenApi.IComponents;\n x: OpenApi.IJsonSchema;\n y: OpenApi.IJsonSchema;\n }) => boolean;\n}\n",
12544
12544
  "node_modules/@samchon/openapi/lib/utils/OpenApiValidator.d.ts": "import { OpenApi } from \"../OpenApi\";\nimport { IValidation } from \"../structures/IValidation\";\nexport declare namespace OpenApiValidator {\n const create: (prop: {\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema;\n required: boolean;\n }) => (value: unknown) => IValidation<unknown>;\n const validate: (props: {\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema;\n value: unknown;\n required: boolean;\n }) => IValidation<unknown>;\n}\n",
12545
12545
  "node_modules/@samchon/openapi/lib/utils/internal/IOpenApiValidatorContext.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { IValidation } from \"../../structures/IValidation\";\nexport interface IOpenApiValidatorContext<Schema extends OpenApi.IJsonSchema> {\n components: OpenApi.IComponents;\n schema: Schema;\n value: unknown;\n path: string;\n report: (error: IValidation.IError & {\n exceptionable: boolean;\n }) => false;\n exceptionable: boolean;\n expected: string;\n required: boolean;\n}\n",
12546
12546
  "node_modules/@samchon/openapi/lib/utils/internal/JsonDescriptionUtil.d.ts": "import { OpenApi } from \"../../OpenApi\";\nexport declare namespace JsonDescriptionUtil {\n const cascade: (props: {\n prefix: string;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IReference;\n escape: boolean;\n }) => string | undefined;\n const take: (o: OpenApi.IJsonSchema.IObject) => string | undefined;\n}\n",
@@ -12556,7 +12556,7 @@
12556
12556
  "node_modules/@samchon/openapi/lib/utils/internal/OpenApiStringValidator.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { IOpenApiValidatorContext } from \"./IOpenApiValidatorContext\";\nexport declare namespace OpenApiStringValidator {\n const validate: (ctx: IOpenApiValidatorContext<OpenApi.IJsonSchema.IString>) => boolean;\n}\n",
12557
12557
  "node_modules/@samchon/openapi/lib/utils/internal/OpenApiTupleValidator.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { IOpenApiValidatorContext } from \"./IOpenApiValidatorContext\";\nexport declare namespace OpenApiTupleValidator {\n const validate: (ctx: IOpenApiValidatorContext<OpenApi.IJsonSchema.ITuple>) => boolean;\n}\n",
12558
12558
  "node_modules/@samchon/openapi/lib/utils/internal/OpenApiTypeCheckerBase.d.ts": "export {};\n",
12559
- "node_modules/@samchon/openapi/package.json": "{\n \"name\": \"@samchon/openapi\",\n \"version\": \"4.3.3\",\n \"description\": \"OpenAPI definitions and converters for 'typia' and 'nestia'.\",\n \"main\": \"./lib/index.js\",\n \"module\": \"./lib/index.mjs\",\n \"typings\": \"./lib/index.d.ts\",\n \"scripts\": {\n \"prepare\": \"ts-patch install\",\n \"build\": \"rimraf lib && tsc && rollup -c && ts-node build/post.ts\",\n \"dev\": \"rimraf lib && tsc --watch\",\n \"typedoc\": \"typedoc --plugin typedoc-github-theme --theme typedoc-github-theme\"\n },\n \"keywords\": [\n \"swagger\",\n \"openapi\",\n \"openapi-generator\",\n \"openapi-validator\",\n \"converter\",\n \"migrate\",\n \"typia\",\n \"nestia\",\n \"llm\",\n \"llm-function-calling\",\n \"structured-output\",\n \"openai\",\n \"chatgpt\",\n \"claude\",\n \"gemini\",\n \"llama\"\n ],\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/openapi\"\n },\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/openapi/issues\"\n },\n \"homepage\": \"https://samchon.github.io/openapi/api\",\n \"devDependencies\": {\n \"@modelcontextprotocol/sdk\": \"^1.11.4\",\n \"@rollup/plugin-terser\": \"^0.4.4\",\n \"@rollup/plugin-typescript\": \"^12.1.2\",\n \"@trivago/prettier-plugin-sort-imports\": \"^5.2.2\",\n \"@types/node\": \"^20.12.7\",\n \"gh-pages\": \"^6.3.0\",\n \"prettier\": \"^3.5.3\",\n \"rimraf\": \"^5.0.5\",\n \"rollup\": \"^4.18.1\",\n \"rollup-plugin-auto-external\": \"^2.0.0\",\n \"tinyglobby\": \"^0.2.10\",\n \"ts-node\": \"^10.9.2\",\n \"ts-patch\": \"^3.3.0\",\n \"typedoc\": \"^0.27.6\",\n \"typedoc-github-theme\": \"^0.2.1\",\n \"typescript\": \"~5.8.3\"\n },\n \"sideEffects\": false,\n \"files\": [\n \"lib\",\n \"src\",\n \"README.md\",\n \"LICENSE\"\n ],\n \"packageManager\": \"pnpm@10.5.2\",\n \"pnpm\": {\n \"executionEnv\": {\n \"nodeVersion\": \"22.14.0\"\n },\n \"onlyBuiltDependencies\": [\n \"@nestjs/core\"\n ]\n }\n}\n",
12559
+ "node_modules/@samchon/openapi/package.json": "{\n \"name\": \"@samchon/openapi\",\n \"version\": \"4.4.1\",\n \"description\": \"OpenAPI definitions and converters for 'typia' and 'nestia'.\",\n \"main\": \"./lib/index.js\",\n \"module\": \"./lib/index.mjs\",\n \"typings\": \"./lib/index.d.ts\",\n \"scripts\": {\n \"prepare\": \"ts-patch install\",\n \"build\": \"rimraf lib && tsc && rollup -c && ts-node build/post.ts\",\n \"dev\": \"rimraf lib && tsc --watch\",\n \"typedoc\": \"typedoc --plugin typedoc-github-theme --theme typedoc-github-theme\"\n },\n \"keywords\": [\n \"swagger\",\n \"openapi\",\n \"openapi-generator\",\n \"openapi-validator\",\n \"converter\",\n \"migrate\",\n \"typia\",\n \"nestia\",\n \"llm\",\n \"llm-function-calling\",\n \"structured-output\",\n \"openai\",\n \"chatgpt\",\n \"claude\",\n \"gemini\",\n \"llama\"\n ],\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/openapi\"\n },\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/openapi/issues\"\n },\n \"homepage\": \"https://samchon.github.io/openapi/api\",\n \"devDependencies\": {\n \"@modelcontextprotocol/sdk\": \"^1.11.4\",\n \"@rollup/plugin-terser\": \"^0.4.4\",\n \"@rollup/plugin-typescript\": \"^12.1.2\",\n \"@trivago/prettier-plugin-sort-imports\": \"^5.2.2\",\n \"@types/node\": \"^20.12.7\",\n \"gh-pages\": \"^6.3.0\",\n \"prettier\": \"^3.5.3\",\n \"prettier-plugin-jsdoc\": \"^1.3.2\",\n \"rimraf\": \"^5.0.5\",\n \"rollup\": \"^4.18.1\",\n \"rollup-plugin-auto-external\": \"^2.0.0\",\n \"tinyglobby\": \"^0.2.10\",\n \"ts-node\": \"^10.9.2\",\n \"ts-patch\": \"^3.3.0\",\n \"typedoc\": \"^0.27.6\",\n \"typedoc-github-theme\": \"^0.2.1\",\n \"typescript\": \"~5.8.3\"\n },\n \"sideEffects\": false,\n \"files\": [\n \"lib\",\n \"src\",\n \"README.md\",\n \"LICENSE\"\n ],\n \"packageManager\": \"pnpm@10.5.2\",\n \"pnpm\": {\n \"executionEnv\": {\n \"nodeVersion\": \"22.14.0\"\n },\n \"onlyBuiltDependencies\": [\n \"@nestjs/core\"\n ]\n }\n}\n",
12560
12560
  "node_modules/@scarf/scarf/package.json": "{\n \"name\": \"@scarf/scarf\",\n \"version\": \"1.4.0\",\n \"description\": \"Scarf is like Google Analytics for your npm packages. Gain insights into how your packages are installed and used, and by which companies.\",\n \"main\": \"report.js\",\n \"homepage\": \"https://github.com/scarf-sh/scarf-js\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/scarf-sh/scarf-js.git\"\n },\n \"files\": [\n \"report.js\"\n ],\n \"scripts\": {\n \"postinstall\": \"node ./report.js\",\n \"test\": \"jest --verbose\"\n },\n \"author\": \"Scarf Systems\",\n \"license\": \"Apache-2.0\",\n \"devDependencies\": {\n \"jest\": \"^25.3.0\",\n \"minimist\": \"^1.2.2\",\n \"standard\": \"^14.3.1\"\n },\n \"standard\": {\n \"globals\": [\n \"expect\",\n \"test\",\n \"jest\",\n \"beforeAll\",\n \"afterAll\",\n \"fail\",\n \"describe\"\n ]\n }\n}\n",
12561
12561
  "node_modules/@stackblitz/sdk/package.json": "{\n \"name\": \"@stackblitz/sdk\",\n \"version\": \"1.11.0\",\n \"description\": \"SDK for generating and embedding StackBlitz projects.\",\n \"license\": \"MIT\",\n \"author\": \"Eric Simons\",\n \"homepage\": \"https://github.com/stackblitz/sdk\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/stackblitz/sdk.git\"\n },\n \"main\": \"./bundles/sdk.js\",\n \"module\": \"./bundles/sdk.m.js\",\n \"unpkg\": \"./bundles/sdk.umd.js\",\n \"jsdelivr\": \"./bundles/sdk.umd.js\",\n \"types\": \"./types/index.d.ts\",\n \"files\": [\n \"bundles\",\n \"types\",\n \"CHANGELOG.md\",\n \"LICENSE.md\",\n \"README.md\"\n ],\n \"scripts\": {\n \"build\": \"npm run build:clean && npm run build:types && npm run build:lib\",\n \"build:clean\": \"rimraf bundles temp types\",\n \"build:lib\": \"vite build --mode lib\",\n \"build:types\": \"tsc -p tsconfig.lib.json\",\n \"format\": \"prettier --write 'src/**/*.ts' 'test/**/*.ts' vite.*.ts\",\n \"prepack\": \"npm run test:unit && npm run build\",\n \"start\": \"vite dev --mode dev --open /examples/\",\n \"start:e2e\": \"vite dev --mode e2e\",\n \"test\": \"vitest run --mode test --coverage\",\n \"test:unit\": \"vitest run --mode test\",\n \"test:e2e\": \"npx playwright test\",\n \"test:format\": \"npx prettier --check .\"\n },\n \"devDependencies\": {\n \"@playwright/test\": \"^1.32.2\",\n \"@rollup/plugin-replace\": \"^5.0.2\",\n \"@types/body-parser\": \"^1.19.2\",\n \"@types/lodash\": \"^4.14.192\",\n \"@vitest/coverage-c8\": \"^0.29.8\",\n \"@vitest/ui\": \"^0.29.8\",\n \"body-parser\": \"^1.20.2\",\n \"happy-dom\": \"^9.1.0\",\n \"lodash\": \"^4.17.21\",\n \"prettier\": \"^2.8.7\",\n \"rimraf\": \"^4.4.1\",\n \"typescript\": \"~4.4.4\",\n \"vite\": \"^4.2.1\",\n \"vite-tsconfig-paths\": \"^4.0.8\",\n \"vitest\": \"^0.29.8\"\n }\n}\n",
12562
12562
  "node_modules/@stackblitz/sdk/types/connection.d.ts": "import { VM } from './vm';\nexport declare class Connection {\n element: HTMLIFrameElement;\n id: string;\n pending: Promise<VM>;\n vm?: VM;\n constructor(element: HTMLIFrameElement);\n}\nexport declare const getConnection: (identifier: string | HTMLIFrameElement) => Connection | null;\n",
@@ -13014,7 +13014,7 @@
13014
13014
  "node_modules/debug/package.json": "{\n \"name\": \"debug\",\n \"version\": \"4.4.0\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git://github.com/debug-js/debug.git\"\n },\n \"description\": \"Lightweight debugging utility for Node.js and the browser\",\n \"keywords\": [\n \"debug\",\n \"log\",\n \"debugger\"\n ],\n \"files\": [\n \"src\",\n \"LICENSE\",\n \"README.md\"\n ],\n \"author\": \"Josh Junon (https://github.com/qix-)\",\n \"contributors\": [\n \"TJ Holowaychuk <tj@vision-media.ca>\",\n \"Nathan Rajlich <nathan@tootallnate.net> (http://n8.io)\",\n \"Andrew Rhyne <rhyneandrew@gmail.com>\"\n ],\n \"license\": \"MIT\",\n \"scripts\": {\n \"lint\": \"xo\",\n \"test\": \"npm run test:node && npm run test:browser && npm run lint\",\n \"test:node\": \"istanbul cover _mocha -- test.js test.node.js\",\n \"test:browser\": \"karma start --single-run\",\n \"test:coverage\": \"cat ./coverage/lcov.info | coveralls\"\n },\n \"dependencies\": {\n \"ms\": \"^2.1.3\"\n },\n \"devDependencies\": {\n \"brfs\": \"^2.0.1\",\n \"browserify\": \"^16.2.3\",\n \"coveralls\": \"^3.0.2\",\n \"istanbul\": \"^0.4.5\",\n \"karma\": \"^3.1.4\",\n \"karma-browserify\": \"^6.0.0\",\n \"karma-chrome-launcher\": \"^2.2.0\",\n \"karma-mocha\": \"^1.3.0\",\n \"mocha\": \"^5.2.0\",\n \"mocha-lcov-reporter\": \"^1.2.0\",\n \"sinon\": \"^14.0.0\",\n \"xo\": \"^0.23.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n },\n \"main\": \"./src/index.js\",\n \"browser\": \"./src/browser.js\",\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"xo\": {\n \"rules\": {\n \"import/extensions\": \"off\"\n }\n }\n}\n",
13015
13015
  "node_modules/decode-named-character-reference/index.d.ts": "/**\n * Decode a single character reference (without the `&` or `;`).\n * You probably only need this when you’re building parsers yourself that follow\n * different rules compared to HTML.\n * This is optimized to be tiny in browsers.\n *\n * @param {string} value\n * `notin` (named), `#123` (deci), `#x123` (hexa).\n * @returns {string|false}\n * Decoded reference.\n */\nexport function decodeNamedCharacterReference(value: string): string | false;\n//# sourceMappingURL=index.d.ts.map",
13016
13016
  "node_modules/decode-named-character-reference/index.dom.d.ts": "/**\n * @param {string} value\n * @returns {string | false}\n */\nexport function decodeNamedCharacterReference(value: string): string | false;\n//# sourceMappingURL=index.dom.d.ts.map",
13017
- "node_modules/decode-named-character-reference/package.json": "{\n \"author\": \"Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)\",\n \"bugs\": \"https://github.com/wooorm/decode-named-character-reference/issues\",\n \"contributors\": [\n \"Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)\"\n ],\n \"dependencies\": {\n \"character-entities\": \"^2.0.0\"\n },\n \"description\": \"Decode named character references\",\n \"devDependencies\": {\n \"@types/node\": \"^22.0.0\",\n \"c8\": \"^10.0.0\",\n \"prettier\": \"^3.0.0\",\n \"remark-cli\": \"^12.0.0\",\n \"remark-preset-wooorm\": \"^11.0.0\",\n \"type-coverage\": \"^2.0.0\",\n \"typescript\": \"^5.0.0\",\n \"xo\": \"^0.60.0\"\n },\n \"exports\": {\n \"deno\": \"./index.js\",\n \"edge-light\": \"./index.js\",\n \"react-native\": \"./index.js\",\n \"worker\": \"./index.js\",\n \"browser\": \"./index.dom.js\",\n \"default\": \"./index.js\"\n },\n \"files\": [\n \"index.d.ts.map\",\n \"index.d.ts\",\n \"index.dom.d.ts.map\",\n \"index.dom.d.ts\",\n \"index.dom.js\",\n \"index.js\"\n ],\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/wooorm\"\n },\n \"keywords\": [\n \"character\",\n \"decode\",\n \"named\",\n \"references\"\n ],\n \"license\": \"MIT\",\n \"main#\": \"to do: next major: remove field\",\n \"main\": \"index.js\",\n \"name\": \"decode-named-character-reference\",\n \"prettier\": {\n \"bracketSpacing\": false,\n \"semi\": false,\n \"singleQuote\": true,\n \"tabWidth\": 2,\n \"trailingComma\": \"none\",\n \"useTabs\": false\n },\n \"remarkConfig\": {\n \"plugins\": [\n \"remark-preset-wooorm\"\n ]\n },\n \"repository\": \"wooorm/decode-named-character-reference\",\n \"scripts\": {\n \"build\": \"tsc --build --clean && tsc --build && type-coverage\",\n \"format\": \"remark --frail --output --quiet -- . && prettier --log-level warn --write -- . && xo --fix\",\n \"test-api\": \"node --conditions development test.js\",\n \"test-coverage\": \"c8 --100 --reporter lcov -- npm run test-api\",\n \"test\": \"npm run build && npm run format && npm run test-coverage\"\n },\n \"sideEffects\": false,\n \"typeCoverage\": {\n \"atLeast\": 100,\n \"ignoreCatch\": true\n },\n \"types#\": \"to do: next major: remove field\",\n \"types\": \"index.d.ts\",\n \"type\": \"module\",\n \"version\": \"1.1.0\",\n \"xo\": {\n \"prettier\": true,\n \"rules\": {\n \"unicorn/prefer-code-point\": \"off\"\n }\n }\n}\n",
13017
+ "node_modules/decode-named-character-reference/package.json": "{\n \"author\": \"Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)\",\n \"bugs\": \"https://github.com/wooorm/decode-named-character-reference/issues\",\n \"contributors\": [\n \"Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)\"\n ],\n \"dependencies\": {\n \"character-entities\": \"^2.0.0\"\n },\n \"description\": \"Decode named character references\",\n \"devDependencies\": {\n \"@types/node\": \"^24.0.0\",\n \"c8\": \"^10.0.0\",\n \"prettier\": \"^3.0.0\",\n \"remark-cli\": \"^12.0.0\",\n \"remark-preset-wooorm\": \"^11.0.0\",\n \"type-coverage\": \"^2.0.0\",\n \"typescript\": \"^5.0.0\",\n \"xo\": \"^1.0.0\"\n },\n \"exports\": {\n \"deno\": \"./index.js\",\n \"edge-light\": \"./index.js\",\n \"react-native\": \"./index.js\",\n \"worker\": \"./index.js\",\n \"workerd\": \"./index.js\",\n \"browser\": \"./index.dom.js\",\n \"default\": \"./index.js\"\n },\n \"files\": [\n \"index.d.ts.map\",\n \"index.d.ts\",\n \"index.dom.d.ts.map\",\n \"index.dom.d.ts\",\n \"index.dom.js\",\n \"index.js\"\n ],\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/wooorm\"\n },\n \"keywords\": [\n \"character\",\n \"decode\",\n \"named\",\n \"references\"\n ],\n \"license\": \"MIT\",\n \"main#\": \"to do: next major: remove field\",\n \"main\": \"index.js\",\n \"name\": \"decode-named-character-reference\",\n \"prettier\": {\n \"bracketSpacing\": false,\n \"semi\": false,\n \"singleQuote\": true,\n \"tabWidth\": 2,\n \"trailingComma\": \"none\",\n \"useTabs\": false\n },\n \"remarkConfig\": {\n \"plugins\": [\n \"remark-preset-wooorm\"\n ]\n },\n \"repository\": \"wooorm/decode-named-character-reference\",\n \"scripts\": {\n \"build\": \"tsc --build --clean && tsc --build && type-coverage\",\n \"format\": \"remark --frail --output --quiet -- . && prettier --log-level warn --write -- . && xo --fix\",\n \"test-api\": \"node --conditions development test.js\",\n \"test-coverage\": \"c8 --100 --reporter lcov -- npm run test-api\",\n \"test\": \"npm run build && npm run format && npm run test-coverage\"\n },\n \"sideEffects\": false,\n \"typeCoverage\": {\n \"atLeast\": 100,\n \"ignoreCatch\": true\n },\n \"types#\": \"to do: next major: remove field\",\n \"types\": \"index.d.ts\",\n \"type\": \"module\",\n \"version\": \"1.2.0\",\n \"xo\": {\n \"prettier\": true,\n \"rules\": {\n \"unicorn/prefer-code-point\": \"off\"\n },\n \"space\": true\n }\n}\n",
13018
13018
  "node_modules/defaults/package.json": "{\n\t\"name\": \"defaults\",\n\t\"version\": \"1.0.4\",\n\t\"description\": \"merge single level defaults over a config object\",\n\t\"main\": \"index.js\",\n\t\"funding\": \"https://github.com/sponsors/sindresorhus\",\n\t\"scripts\": {\n\t\t\"test\": \"node test.js\"\n\t},\n\t\"repository\": {\n\t\t\"type\": \"git\",\n\t\t\"url\": \"git://github.com/sindresorhus/node-defaults.git\"\n\t},\n\t\"keywords\": [\n\t\t\"config\",\n\t\t\"defaults\",\n\t\t\"options\",\n\t\t\"object\",\n\t\t\"merge\",\n\t\t\"assign\",\n\t\t\"properties\",\n\t\t\"deep\"\n\t],\n\t\"author\": \"Elijah Insua <tmpvar@gmail.com>\",\n\t\"license\": \"MIT\",\n\t\"readmeFilename\": \"README.md\",\n\t\"dependencies\": {\n\t\t\"clone\": \"^1.0.2\"\n\t},\n\t\"devDependencies\": {\n\t\t\"tap\": \"^2.0.0\"\n\t}\n}\n",
13019
13019
  "node_modules/depd/package.json": "{\n \"name\": \"depd\",\n \"description\": \"Deprecate all the things\",\n \"version\": \"2.0.0\",\n \"author\": \"Douglas Christopher Wilson <doug@somethingdoug.com>\",\n \"license\": \"MIT\",\n \"keywords\": [\n \"deprecate\",\n \"deprecated\"\n ],\n \"repository\": \"dougwilson/nodejs-depd\",\n \"browser\": \"lib/browser/index.js\",\n \"devDependencies\": {\n \"benchmark\": \"2.1.4\",\n \"beautify-benchmark\": \"0.2.4\",\n \"eslint\": \"5.7.0\",\n \"eslint-config-standard\": \"12.0.0\",\n \"eslint-plugin-import\": \"2.14.0\",\n \"eslint-plugin-markdown\": \"1.0.0-beta.7\",\n \"eslint-plugin-node\": \"7.0.1\",\n \"eslint-plugin-promise\": \"4.0.1\",\n \"eslint-plugin-standard\": \"4.0.0\",\n \"istanbul\": \"0.4.5\",\n \"mocha\": \"5.2.0\",\n \"safe-buffer\": \"5.1.2\",\n \"uid-safe\": \"2.1.5\"\n },\n \"files\": [\n \"lib/\",\n \"History.md\",\n \"LICENSE\",\n \"index.js\",\n \"Readme.md\"\n ],\n \"engines\": {\n \"node\": \">= 0.8\"\n },\n \"scripts\": {\n \"bench\": \"node benchmark/index.js\",\n \"lint\": \"eslint --plugin markdown --ext js,md .\",\n \"test\": \"mocha --reporter spec --bail test/\",\n \"test-ci\": \"istanbul cover --print=none node_modules/mocha/bin/_mocha -- --reporter spec test/ && istanbul report lcovonly text-summary\",\n \"test-cov\": \"istanbul cover --print=none node_modules/mocha/bin/_mocha -- --reporter dot test/ && istanbul report lcov text-summary\"\n }\n}\n",
13020
13020
  "node_modules/dequal/index.d.ts": "export function dequal(foo: any, bar: any): boolean;",
@@ -13581,14 +13581,14 @@
13581
13581
  "node_modules/prettier/plugins/yaml.d.ts": "import { Parser } from \"../index.js\";\n\nexport declare const parsers: {\n yaml: Parser;\n};\n",
13582
13582
  "node_modules/prettier/standalone.d.ts": "import { CursorOptions, CursorResult, Options, SupportInfo } from \"./index.js\";\n\n/**\n * formatWithCursor both formats the code, and translates a cursor position from unformatted code to formatted code.\n * This is useful for editor integrations, to prevent the cursor from moving when code is formatted\n *\n * The cursorOffset option should be provided, to specify where the cursor is.\n *\n * ```js\n * await prettier.formatWithCursor(\" 1\", { cursorOffset: 2, parser: \"babel\" });\n * ```\n * `-> { formatted: \"1;\\n\", cursorOffset: 1 }`\n */\nexport function formatWithCursor(\n source: string,\n options: CursorOptions,\n): Promise<CursorResult>;\n\n/**\n * `format` is used to format text using Prettier. [Options](https://prettier.io/docs/en/options.html) may be provided to override the defaults.\n */\nexport function format(source: string, options?: Options): Promise<string>;\n\n/**\n * `check` checks to see if the file has been formatted with Prettier given those options and returns a `Boolean`.\n * This is similar to the `--list-different` parameter in the CLI and is useful for running Prettier in CI scenarios.\n */\nexport function check(source: string, options?: Options): Promise<boolean>;\n\n/**\n * Returns an object representing the parsers, languages and file types Prettier supports for the current version.\n */\nexport function getSupportInfo(): Promise<SupportInfo>;\n",
13583
13583
  "node_modules/prettier-plugin-jsdoc/dist/descriptionFormatter.d.ts": "import { AllOptions } from \"./types.js\";\ninterface DescriptionEndLineParams {\n tag: string;\n isEndTag: boolean;\n}\ndeclare function descriptionEndLine({ tag, isEndTag, }: DescriptionEndLineParams): string;\ninterface FormatOptions {\n tagStringLength?: number;\n beginningSpace: string;\n}\ndeclare function formatDescription(tag: string, text: string, options: AllOptions, formatOptions: FormatOptions): Promise<string>;\nexport { descriptionEndLine, FormatOptions, formatDescription };\n",
13584
- "node_modules/prettier-plugin-jsdoc/dist/index.d.ts": "import prettier from \"prettier\";\nimport { JsdocOptions } from \"./types.js\";\ndeclare const options: {\n readonly jsdocSpaces: {\n readonly name: \"jsdocSpaces\";\n readonly type: \"int\";\n readonly category: \"jsdoc\";\n readonly default: 1;\n readonly description: \"How many spaces will be used to separate tag elements.\";\n };\n readonly jsdocDescriptionWithDot: {\n readonly name: \"jsdocDescriptionWithDot\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly default: false;\n readonly description: \"Should dot be inserted at the end of description\";\n };\n readonly jsdocDescriptionTag: {\n readonly name: \"jsdocDescriptionTag\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly default: false;\n readonly description: \"Should description tag be used\";\n };\n readonly jsdocVerticalAlignment: {\n readonly name: \"jsdocVerticalAlignment\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly default: false;\n readonly description: \"Should tags, types, names and description be aligned\";\n };\n readonly jsdocKeepUnParseAbleExampleIndent: {\n readonly name: \"jsdocKeepUnParseAbleExampleIndent\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly default: false;\n readonly description: \"Should unParseAble example (pseudo code or no js code) keep its indentation\";\n };\n readonly jsdocSingleLineComment: {\n readonly name: \"jsdocSingleLineComment\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly deprecated: \"use jsdocCommentLineStrategy instead will be remove on v2\";\n readonly default: true;\n readonly description: \"Should compact single line comment\";\n };\n readonly jsdocCommentLineStrategy: {\n readonly name: \"jsdocCommentLineStrategy\";\n readonly type: \"choice\";\n readonly choices: {\n since?: string | undefined;\n value: any;\n description: string;\n }[];\n readonly category: \"jsdoc\";\n readonly default: \"singleLine\";\n readonly description: \"How comments line should be\";\n };\n readonly jsdocSeparateReturnsFromParam: {\n readonly name: \"jsdocSeparateReturnsFromParam\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly default: false;\n readonly description: \"Add an space between last @param and @returns\";\n };\n readonly jsdocSeparateTagGroups: {\n readonly name: \"jsdocSeparateTagGroups\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly default: false;\n readonly description: \"Add an space between tag groups\";\n };\n readonly jsdocCapitalizeDescription: {\n readonly name: \"jsdocCapitalizeDescription\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly default: true;\n readonly description: \"Should capitalize first letter of description\";\n };\n readonly tsdoc: {\n readonly name: \"tsdoc\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly default: false;\n readonly description: \"Should format as tsdoc\";\n };\n readonly jsdocPrintWidth: {\n readonly name: \"jsdocPrintWidth\";\n readonly type: \"int\";\n readonly category: \"jsdoc\";\n readonly default: undefined;\n readonly description: \"If You don't set value to jsdocPrintWidth, the printWidth will be use as jsdocPrintWidth.\";\n };\n readonly jsdocAddDefaultToDescription: {\n readonly name: \"jsdocAddDefaultToDescription\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly default: true;\n readonly description: \"Add Default value of a param to end description\";\n };\n readonly jsdocPreferCodeFences: {\n readonly name: \"jsdocPreferCodeFences\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly default: false;\n readonly description: \"Prefer to render code blocks using \\\"fences\\\" (triple backticks). If not set, blocks without a language tag will be rendered with a four space indentation.\";\n };\n readonly jsdocLineWrappingStyle: {\n readonly name: \"jsdocLineWrappingStyle\";\n readonly type: \"choice\";\n readonly choices: {\n since?: string | undefined;\n value: any;\n description: string;\n }[];\n readonly category: \"jsdoc\";\n readonly default: \"greedy\";\n readonly description: \"Strategy for wrapping lines for the given print width. More options may be added in the future.\";\n };\n readonly jsdocTagsOrder: {\n readonly name: \"jsdocTagsOrder\";\n readonly type: \"string\";\n readonly category: \"jsdoc\";\n readonly default: undefined;\n readonly description: \"How many spaces will be used to separate tag elements.\";\n };\n};\ndeclare const defaultOptions: JsdocOptions;\ndeclare const parsers: {\n readonly babel: {\n preprocess: (text: string, options: prettier.ParserOptions) => string;\n parse: any;\n astFormat: string;\n hasPragma?: ((text: string) => boolean) | undefined;\n locStart: (node: any) => number;\n locEnd: (node: any) => number;\n };\n readonly \"babel-flow\": {\n preprocess: (text: string, options: prettier.ParserOptions) => string;\n parse: any;\n astFormat: string;\n hasPragma?: ((text: string) => boolean) | undefined;\n locStart: (node: any) => number;\n locEnd: (node: any) => number;\n };\n readonly \"babel-ts\": {\n preprocess: (text: string, options: prettier.ParserOptions) => string;\n parse: any;\n astFormat: string;\n hasPragma?: ((text: string) => boolean) | undefined;\n locStart: (node: any) => number;\n locEnd: (node: any) => number;\n };\n readonly flow: {\n preprocess: (text: string, options: prettier.ParserOptions) => string;\n parse: any;\n astFormat: string;\n hasPragma?: ((text: string) => boolean) | undefined;\n locStart: (node: any) => number;\n locEnd: (node: any) => number;\n };\n readonly typescript: prettier.Parser<any>;\n readonly \"jsdoc-parser\": {\n preprocess: (text: string, options: prettier.ParserOptions) => string;\n parse: any;\n astFormat: string;\n hasPragma?: ((text: string) => boolean) | undefined;\n locStart: (node: any) => number;\n locEnd: (node: any) => number;\n };\n};\nexport { options, parsers, defaultOptions };\nexport type Options = Partial<JsdocOptions>;\n",
13584
+ "node_modules/prettier-plugin-jsdoc/dist/index.d.ts": "import prettier from \"prettier\";\nimport { JsdocOptions } from \"./types.js\";\ndeclare const options: {\n readonly jsdocSpaces: {\n readonly name: \"jsdocSpaces\";\n readonly type: \"int\";\n readonly category: \"jsdoc\";\n readonly default: 1;\n readonly description: \"How many spaces will be used to separate tag elements.\";\n };\n readonly jsdocDescriptionWithDot: {\n readonly name: \"jsdocDescriptionWithDot\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly default: false;\n readonly description: \"Should dot be inserted at the end of description\";\n };\n readonly jsdocDescriptionTag: {\n readonly name: \"jsdocDescriptionTag\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly default: false;\n readonly description: \"Should description tag be used\";\n };\n readonly jsdocVerticalAlignment: {\n readonly name: \"jsdocVerticalAlignment\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly default: false;\n readonly description: \"Should tags, types, names and description be aligned\";\n };\n readonly jsdocKeepUnParseAbleExampleIndent: {\n readonly name: \"jsdocKeepUnParseAbleExampleIndent\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly default: false;\n readonly description: \"Should unParseAble example (pseudo code or no js code) keep its indentation\";\n };\n readonly jsdocSingleLineComment: {\n readonly name: \"jsdocSingleLineComment\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly deprecated: \"use jsdocCommentLineStrategy instead will be remove on v2\";\n readonly default: true;\n readonly description: \"Should compact single line comment\";\n };\n readonly jsdocCommentLineStrategy: {\n readonly name: \"jsdocCommentLineStrategy\";\n readonly type: \"choice\";\n readonly choices: {\n value: any;\n description: string;\n }[];\n readonly category: \"jsdoc\";\n readonly default: \"singleLine\";\n readonly description: \"How comments line should be\";\n };\n readonly jsdocSeparateReturnsFromParam: {\n readonly name: \"jsdocSeparateReturnsFromParam\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly default: false;\n readonly description: \"Add an space between last @param and @returns\";\n };\n readonly jsdocSeparateTagGroups: {\n readonly name: \"jsdocSeparateTagGroups\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly default: false;\n readonly description: \"Add an space between tag groups\";\n };\n readonly jsdocCapitalizeDescription: {\n readonly name: \"jsdocCapitalizeDescription\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly default: true;\n readonly description: \"Should capitalize first letter of description\";\n };\n readonly tsdoc: {\n readonly name: \"tsdoc\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly default: false;\n readonly description: \"Should format as tsdoc\";\n };\n readonly jsdocPrintWidth: {\n readonly name: \"jsdocPrintWidth\";\n readonly type: \"int\";\n readonly category: \"jsdoc\";\n readonly default: undefined;\n readonly description: \"If You don't set value to jsdocPrintWidth, the printWidth will be use as jsdocPrintWidth.\";\n };\n readonly jsdocAddDefaultToDescription: {\n readonly name: \"jsdocAddDefaultToDescription\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly default: true;\n readonly description: \"Add Default value of a param to end description\";\n };\n readonly jsdocPreferCodeFences: {\n readonly name: \"jsdocPreferCodeFences\";\n readonly type: \"boolean\";\n readonly category: \"jsdoc\";\n readonly default: false;\n readonly description: \"Prefer to render code blocks using \\\"fences\\\" (triple backticks). If not set, blocks without a language tag will be rendered with a four space indentation.\";\n };\n readonly jsdocLineWrappingStyle: {\n readonly name: \"jsdocLineWrappingStyle\";\n readonly type: \"choice\";\n readonly choices: {\n value: any;\n description: string;\n }[];\n readonly category: \"jsdoc\";\n readonly default: \"greedy\";\n readonly description: \"Strategy for wrapping lines for the given print width. More options may be added in the future.\";\n };\n readonly jsdocTagsOrder: {\n readonly name: \"jsdocTagsOrder\";\n readonly type: \"string\";\n readonly category: \"jsdoc\";\n readonly default: undefined;\n readonly description: \"How many spaces will be used to separate tag elements.\";\n };\n};\ndeclare const defaultOptions: JsdocOptions;\ndeclare const parsers: {\n readonly babel: {\n preprocess: (text: string, options: prettier.ParserOptions) => string;\n parse: any;\n astFormat: string;\n hasPragma?: ((text: string) => boolean) | undefined;\n hasIgnorePragma?: ((text: string) => boolean) | undefined;\n locStart: (node: any) => number;\n locEnd: (node: any) => number;\n };\n readonly \"babel-flow\": {\n preprocess: (text: string, options: prettier.ParserOptions) => string;\n parse: any;\n astFormat: string;\n hasPragma?: ((text: string) => boolean) | undefined;\n hasIgnorePragma?: ((text: string) => boolean) | undefined;\n locStart: (node: any) => number;\n locEnd: (node: any) => number;\n };\n readonly \"babel-ts\": {\n preprocess: (text: string, options: prettier.ParserOptions) => string;\n parse: any;\n astFormat: string;\n hasPragma?: ((text: string) => boolean) | undefined;\n hasIgnorePragma?: ((text: string) => boolean) | undefined;\n locStart: (node: any) => number;\n locEnd: (node: any) => number;\n };\n readonly flow: {\n preprocess: (text: string, options: prettier.ParserOptions) => string;\n parse: any;\n astFormat: string;\n hasPragma?: ((text: string) => boolean) | undefined;\n hasIgnorePragma?: ((text: string) => boolean) | undefined;\n locStart: (node: any) => number;\n locEnd: (node: any) => number;\n };\n readonly typescript: prettier.Parser<any>;\n readonly \"jsdoc-parser\": {\n preprocess: (text: string, options: prettier.ParserOptions) => string;\n parse: any;\n astFormat: string;\n hasPragma?: ((text: string) => boolean) | undefined;\n hasIgnorePragma?: ((text: string) => boolean) | undefined;\n locStart: (node: any) => number;\n locEnd: (node: any) => number;\n };\n};\nexport { options, parsers, defaultOptions };\nexport type Options = Partial<JsdocOptions>;\n",
13585
13585
  "node_modules/prettier-plugin-jsdoc/dist/parser.d.ts": "import { AST, AllOptions } from \"./types.js\";\nimport { Parser } from \"prettier\";\nexport declare const getParser: (originalParse: Parser[\"parse\"], parserName: string) => (text: string, parsersOrOptions: Parameters<Parser[\"parse\"]>[1], maybeOptions?: AllOptions) => Promise<AST>;\n",
13586
13586
  "node_modules/prettier-plugin-jsdoc/dist/roles.d.ts": "declare const TAGS_SYNONYMS: {\n arg: string;\n argument: string;\n const: string;\n constructor: string;\n desc: string;\n emits: string;\n examples: string;\n exception: string;\n fileoverview: string;\n func: string;\n host: string;\n method: string;\n overview: string;\n params: string;\n prop: string;\n return: string;\n var: string;\n virtual: string;\n yield: string;\n hidden: string;\n};\ndeclare const TAGS_DEFAULT: string[];\ndeclare const TAGS_NAMELESS: string[];\ndeclare const TAGS_TYPELESS: string[];\ndeclare const TAGS_PEV_FORMATE_DESCRIPTION: string[];\ndeclare const TAGS_DESCRIPTION_NEEDED: string[];\ndeclare const TAGS_TYPE_NEEDED: string[];\ndeclare const TAGS_VERTICALLY_ALIGN_ABLE: string[];\ndeclare const TAGS_GROUP_HEAD: string[];\ndeclare const TAGS_GROUP_CONDITION: string[];\ndeclare const TAGS_ORDER: {\n remarks: number;\n privateRemarks: number;\n providesModule: number;\n module: number;\n license: number;\n flow: number;\n async: number;\n private: number;\n ignore: number;\n memberof: number;\n version: number;\n file: number;\n author: number;\n deprecated: number;\n since: number;\n category: number;\n description: number;\n example: number;\n abstract: number;\n augments: number;\n constant: number;\n default: number;\n defaultValue: number;\n external: number;\n overload: number;\n fires: number;\n template: number;\n typeParam: number;\n function: number;\n namespace: number;\n borrows: number;\n class: number;\n extends: number;\n member: number;\n typedef: number;\n type: number;\n satisfies: number;\n property: number;\n callback: number;\n param: number;\n yields: number;\n returns: number;\n throws: number;\n other: number;\n see: number;\n todo: number;\n};\nexport { TAGS_PEV_FORMATE_DESCRIPTION, TAGS_DESCRIPTION_NEEDED, TAGS_NAMELESS, TAGS_GROUP_HEAD, TAGS_GROUP_CONDITION, TAGS_ORDER, TAGS_SYNONYMS, TAGS_TYPE_NEEDED, TAGS_TYPELESS, TAGS_VERTICALLY_ALIGN_ABLE, TAGS_DEFAULT, };\n",
13587
13587
  "node_modules/prettier-plugin-jsdoc/dist/stringify.d.ts": "import { Spec } from \"comment-parser\";\nimport { AllOptions } from \"./types.js\";\ndeclare const stringify: ({ name, description, type, tag }: Spec, tagIndex: number, finalTagsArray: Spec[], options: AllOptions, maxTagTitleLength: number, maxTagTypeNameLength: number, maxTagNameLength: number) => Promise<string>;\nexport { stringify };\n",
13588
13588
  "node_modules/prettier-plugin-jsdoc/dist/tags.d.ts": "import { Spec } from \"comment-parser\";\ndeclare const ABSTRACT = \"abstract\";\ndeclare const ASYNC = \"async\";\ndeclare const AUGMENTS = \"augments\";\ndeclare const AUTHOR = \"author\";\ndeclare const BORROWS = \"borrows\";\ndeclare const CALLBACK = \"callback\";\ndeclare const CATEGORY = \"category\";\ndeclare const CLASS = \"class\";\ndeclare const CONSTANT = \"constant\";\ndeclare const DEFAULT = \"default\";\ndeclare const DEFAULT_VALUE = \"defaultValue\";\ndeclare const DEPRECATED = \"deprecated\";\ndeclare const DESCRIPTION = \"description\";\ndeclare const EXAMPLE = \"example\";\ndeclare const EXTENDS = \"extends\";\ndeclare const EXTERNAL = \"external\";\ndeclare const FILE = \"file\";\ndeclare const FIRES = \"fires\";\ndeclare const FLOW = \"flow\";\ndeclare const FUNCTION = \"function\";\ndeclare const IGNORE = \"ignore\";\ndeclare const LICENSE = \"license\";\ndeclare const MEMBER = \"member\";\ndeclare const MEMBEROF = \"memberof\";\ndeclare const MODULE = \"module\";\ndeclare const NAMESPACE = \"namespace\";\ndeclare const OVERLOAD = \"overload\";\ndeclare const OVERRIDE = \"override\";\ndeclare const PARAM = \"param\";\ndeclare const PRIVATE = \"private\";\ndeclare const PRIVATE_REMARKS = \"privateRemarks\";\ndeclare const PROPERTY = \"property\";\ndeclare const PROVIDES_MODULE = \"providesModule\";\ndeclare const REMARKS = \"remarks\";\ndeclare const RETURNS = \"returns\";\ndeclare const SEE = \"see\";\ndeclare const SINCE = \"since\";\ndeclare const TEMPLATE = \"template\";\ndeclare const THROWS = \"throws\";\ndeclare const TODO = \"todo\";\ndeclare const TYPE = \"type\";\ndeclare const TYPE_PARAM = \"typeParam\";\ndeclare const TYPEDEF = \"typedef\";\ndeclare const SATISFIES = \"satisfies\";\ndeclare const VERSION = \"version\";\ndeclare const YIELDS = \"yields\";\ndeclare const SPACE_TAG_DATA: Spec;\nexport { ABSTRACT, ASYNC, AUGMENTS, AUTHOR, BORROWS, CALLBACK, CATEGORY, CLASS, CONSTANT, DEFAULT, DEFAULT_VALUE, DEPRECATED, DESCRIPTION, EXAMPLE, EXTENDS, EXTERNAL, FILE, FIRES, FLOW, FUNCTION, IGNORE, LICENSE, MEMBER, MEMBEROF, MODULE, NAMESPACE, OVERLOAD, OVERRIDE, PARAM, PRIVATE_REMARKS, PRIVATE, PROPERTY, PROVIDES_MODULE, REMARKS, RETURNS, SEE, SINCE, TEMPLATE, THROWS, TODO, TYPE, TYPE_PARAM, TYPEDEF, SATISFIES, VERSION, YIELDS, SPACE_TAG_DATA, };\n",
13589
13589
  "node_modules/prettier-plugin-jsdoc/dist/types.d.ts": "import { ParserOptions } from \"prettier\";\nexport interface JsdocOptions {\n jsdocSpaces: number;\n jsdocPrintWidth?: number;\n jsdocDescriptionWithDot: boolean;\n jsdocDescriptionTag: boolean;\n jsdocVerticalAlignment: boolean;\n jsdocKeepUnParseAbleExampleIndent: boolean;\n jsdocSingleLineComment: boolean;\n jsdocCommentLineStrategy: \"singleLine\" | \"multiline\" | \"keep\";\n jsdocSeparateReturnsFromParam: boolean;\n jsdocSeparateTagGroups: boolean;\n jsdocAddDefaultToDescription: boolean;\n jsdocCapitalizeDescription: boolean;\n jsdocPreferCodeFences: boolean;\n tsdoc: boolean;\n jsdocLineWrappingStyle: \"greedy\";\n jsdocTagsOrder?: Record<string, number>;\n}\nexport interface AllOptions extends ParserOptions, JsdocOptions {\n}\ntype LocationDetails = {\n line: number;\n column: number;\n};\ntype Location = {\n start: LocationDetails;\n end: LocationDetails;\n};\nexport type PrettierComment = {\n type: \"CommentBlock\" | \"Block\";\n value: string;\n start: number;\n end: number;\n loc: Location;\n};\nexport type Token = {\n type: \"CommentBlock\" | \"Block\" | {\n label: string;\n keyword?: string;\n beforeExpr: boolean;\n startsExpr: boolean;\n rightAssociative: boolean;\n isLoop: boolean;\n isAssign: boolean;\n prefix: boolean;\n postfix: boolean;\n binop: null;\n };\n value: string;\n start: number;\n end: number;\n loc: Location;\n};\nexport type AST = {\n start: number;\n end: number;\n loc: Location;\n errors: [];\n program: {\n type: \"Program\";\n start: number;\n end: number;\n loc: [];\n sourceType: \"module\";\n interpreter: null;\n body: [];\n directives: [];\n };\n comments: PrettierComment[];\n tokens: Token[];\n};\nexport {};\n",
13590
13590
  "node_modules/prettier-plugin-jsdoc/dist/utils.d.ts": "import { Options, ParserOptions } from \"prettier\";\nimport { AllOptions, Token } from \"./types.js\";\ndeclare function convertToModernType(oldType: string): string;\ndeclare function formatType(type: string, options?: Options): Promise<string>;\ndeclare function addStarsToTheBeginningOfTheLines(originalComment: string, comment: string, options: AllOptions): string;\ndeclare function capitalizer(str: string): string;\ndeclare function detectEndOfLine(text: string): \"cr\" | \"crlf\" | \"lf\";\ndeclare function findTokenIndex(tokens: Token[], token: Token): number;\ndeclare function formatCode(result: string, beginningSpace: string, options: AllOptions): Promise<string>;\ndeclare const findPluginByParser: (parserName: string, options: ParserOptions) => import(\"prettier\").Parser<any> | undefined;\ndeclare const isDefaultTag: (tag: string) => boolean;\nexport { convertToModernType, formatType, addStarsToTheBeginningOfTheLines, capitalizer, detectEndOfLine, findTokenIndex, formatCode, findPluginByParser, isDefaultTag, };\n",
13591
- "node_modules/prettier-plugin-jsdoc/package.json": "{\n \"name\": \"prettier-plugin-jsdoc\",\n \"version\": \"1.3.2\",\n \"description\": \"A Prettier plugin to format JSDoc comments.\",\n \"private\": false,\n \"type\": \"module\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"default\": \"./dist/index.js\"\n }\n },\n \"browser\": \"dist/index.umd.min.js\",\n \"unpkg\": \"dist/index.umd.min.js\",\n \"types\": \"dist/index.d.ts\",\n \"files\": [\n \"dist\"\n ],\n \"scripts\": {\n \"prepare\": \"yarn build\",\n \"lint\": \"eslint --ext '.ts' ./src\",\n \"test\": \"yarn build --test && NODE_OPTIONS=\\\"--loader ts-node/esm\\\" jest\",\n \"release\": \"standard-version && yarn publish && git push --follow-tags origin master\",\n \"prettierAll\": \"prettier --write \\\"**/*.ts\\\"\",\n \"clean\": \"rm -fr dist\",\n \"build\": \"chmod +x ./script.sh && ./script.sh\"\n },\n \"keywords\": [\n \"prettier\",\n \"plugin\",\n \"jsdoc\",\n \"comment\"\n ],\n \"author\": \"Hossein mohammadi (hosseinm.developer@gmail.com)\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/hosseinmd/prettier-plugin-jsdoc/issues\"\n },\n \"homepage\": \"https://github.com/hosseinmd/prettier-plugin-jsdoc#readme\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/hosseinmd/prettier-plugin-jsdoc.git\"\n },\n \"devDependencies\": {\n \"@commitlint/config-conventional\": \"^14.1.0\",\n \"@rollup/plugin-commonjs\": \"^21.0.3\",\n \"@rollup/plugin-json\": \"^4.1.0\",\n \"@rollup/plugin-node-resolve\": \"^13.1.3\",\n \"@types/jest\": \"^29.5.4\",\n \"@types/mdast\": \"^4.0.1\",\n \"@typescript-eslint/eslint-plugin\": \"^6.6.0\",\n \"@typescript-eslint/parser\": \"^6.6.0\",\n \"commitlint\": \"^14.1.0\",\n \"eslint\": \"^8.49.0\",\n \"eslint-config-prettier\": \"^9.0.0\",\n \"eslint-plugin-prettier\": \"^5.0.0\",\n \"husky\": \"^7.0.4\",\n \"jest\": \"^29.6.4\",\n \"jest-light-runner\": \"^0.5.0\",\n \"jest-specific-snapshot\": \"^5.0.0\",\n \"prettier\": \"^3.0.3\",\n \"rollup\": \"^2.70.1\",\n \"standard-version\": \"^9.3.2\",\n \"terser\": \"^5.12.1\",\n \"ts-node\": \"^10.9.1\",\n \"typescript\": \"^5.2.2\"\n },\n \"peerDependencies\": {\n \"prettier\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"binary-searching\": \"^2.0.5\",\n \"comment-parser\": \"^1.4.0\",\n \"mdast-util-from-markdown\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=14.13.1 || >=16.0.0\"\n },\n \"packageManager\": \"yarn@1.22.22\"\n}\n",
13591
+ "node_modules/prettier-plugin-jsdoc/package.json": "{\n \"name\": \"prettier-plugin-jsdoc\",\n \"version\": \"1.3.3\",\n \"description\": \"A Prettier plugin to format JSDoc comments.\",\n \"private\": false,\n \"type\": \"module\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"default\": \"./dist/index.js\"\n }\n },\n \"browser\": \"dist/index.umd.min.js\",\n \"unpkg\": \"dist/index.umd.min.js\",\n \"types\": \"dist/index.d.ts\",\n \"files\": [\n \"dist\"\n ],\n \"scripts\": {\n \"prepare\": \"yarn build\",\n \"lint\": \"eslint --ext '.ts' ./src\",\n \"test\": \"yarn build --test && NODE_OPTIONS=\\\"--loader ts-node/esm\\\" jest\",\n \"release\": \"standard-version && yarn publish && git push --follow-tags origin master\",\n \"prettierAll\": \"prettier --write \\\"**/*.ts\\\"\",\n \"clean\": \"rm -fr dist\",\n \"build\": \"chmod +x ./script.sh && ./script.sh\"\n },\n \"keywords\": [\n \"prettier\",\n \"plugin\",\n \"jsdoc\",\n \"comment\"\n ],\n \"author\": \"Hossein mohammadi (hosseinm.developer@gmail.com)\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/hosseinmd/prettier-plugin-jsdoc/issues\"\n },\n \"homepage\": \"https://github.com/hosseinmd/prettier-plugin-jsdoc#readme\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/hosseinmd/prettier-plugin-jsdoc.git\"\n },\n \"devDependencies\": {\n \"@commitlint/config-conventional\": \"^14.1.0\",\n \"@rollup/plugin-commonjs\": \"^21.0.3\",\n \"@rollup/plugin-json\": \"^4.1.0\",\n \"@rollup/plugin-node-resolve\": \"^13.1.3\",\n \"@types/jest\": \"^29.5.4\",\n \"@types/mdast\": \"^4.0.1\",\n \"@typescript-eslint/eslint-plugin\": \"^6.6.0\",\n \"@typescript-eslint/parser\": \"^6.6.0\",\n \"commitlint\": \"^14.1.0\",\n \"eslint\": \"^8.49.0\",\n \"eslint-config-prettier\": \"^9.0.0\",\n \"eslint-plugin-prettier\": \"^5.0.0\",\n \"husky\": \"^7.0.4\",\n \"jest\": \"^29.6.4\",\n \"jest-light-runner\": \"^0.5.0\",\n \"jest-specific-snapshot\": \"^5.0.0\",\n \"prettier\": \"^3.6.1\",\n \"rollup\": \"^2.70.1\",\n \"standard-version\": \"^9.3.2\",\n \"terser\": \"^5.12.1\",\n \"ts-node\": \"^10.9.1\",\n \"typescript\": \"^5.2.2\"\n },\n \"peerDependencies\": {\n \"prettier\": \"^3.0.0\"\n },\n \"dependencies\": {\n \"binary-searching\": \"^2.0.5\",\n \"comment-parser\": \"^1.4.0\",\n \"mdast-util-from-markdown\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=14.13.1 || >=16.0.0\"\n },\n \"packageManager\": \"yarn@1.22.22\"\n}\n",
13592
13592
  "node_modules/process-nextick-args/package.json": "{\n \"name\": \"process-nextick-args\",\n \"version\": \"2.0.1\",\n \"description\": \"process.nextTick but always with args\",\n \"main\": \"index.js\",\n \"files\": [\n \"index.js\"\n ],\n \"scripts\": {\n \"test\": \"node test.js\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/calvinmetcalf/process-nextick-args.git\"\n },\n \"author\": \"\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/calvinmetcalf/process-nextick-args/issues\"\n },\n \"homepage\": \"https://github.com/calvinmetcalf/process-nextick-args\",\n \"devDependencies\": {\n \"tap\": \"~0.2.6\"\n }\n}\n",
13593
13593
  "node_modules/prop-types/package.json": "{\n \"name\": \"prop-types\",\n \"version\": \"15.8.1\",\n \"description\": \"Runtime type checking for React props and similar objects.\",\n \"sideEffects\": false,\n \"main\": \"index.js\",\n \"license\": \"MIT\",\n \"files\": [\n \"LICENSE\",\n \"README.md\",\n \"checkPropTypes.js\",\n \"factory.js\",\n \"factoryWithThrowingShims.js\",\n \"factoryWithTypeCheckers.js\",\n \"index.js\",\n \"prop-types.js\",\n \"prop-types.min.js\",\n \"lib\"\n ],\n \"repository\": \"facebook/prop-types\",\n \"keywords\": [\n \"react\"\n ],\n \"bugs\": {\n \"url\": \"https://github.com/facebook/prop-types/issues\"\n },\n \"homepage\": \"https://facebook.github.io/react/\",\n \"dependencies\": {\n \"loose-envify\": \"^1.4.0\",\n \"object-assign\": \"^4.1.1\",\n \"react-is\": \"^16.13.1\"\n },\n \"scripts\": {\n \"pretest\": \"npm run lint\",\n \"lint\": \"eslint .\",\n \"test\": \"npm run tests-only\",\n \"tests-only\": \"jest\",\n \"umd\": \"NODE_ENV=development browserify index.js -t loose-envify --standalone PropTypes -o prop-types.js\",\n \"umd-min\": \"NODE_ENV=production browserify index.js -t loose-envify -t uglifyify --standalone PropTypes -p bundle-collapser/plugin -o | uglifyjs --compress unused,dead_code -o prop-types.min.js\",\n \"build\": \"yarn umd && yarn umd-min\",\n \"prepublish\": \"not-in-publish || yarn build\"\n },\n \"devDependencies\": {\n \"babel-jest\": \"^19.0.0\",\n \"babel-preset-react\": \"^6.24.1\",\n \"browserify\": \"^16.5.0\",\n \"bundle-collapser\": \"^1.4.0\",\n \"eslint\": \"^8.6.0\",\n \"in-publish\": \"^2.0.1\",\n \"jest\": \"^19.0.2\",\n \"react\": \"^15.7.0\",\n \"uglifyify\": \"^5.0.2\",\n \"uglifyjs\": \"^2.4.11\"\n },\n \"browserify\": {\n \"transform\": [\n \"loose-envify\"\n ]\n }\n}\n",
13594
13594
  "node_modules/prop-types/node_modules/react-is/package.json": "{\n \"name\": \"react-is\",\n \"version\": \"16.13.1\",\n \"description\": \"Brand checking of React Elements.\",\n \"main\": \"index.js\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/facebook/react.git\",\n \"directory\": \"packages/react-is\"\n },\n \"keywords\": [\n \"react\"\n ],\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/facebook/react/issues\"\n },\n \"homepage\": \"https://reactjs.org/\",\n \"files\": [\n \"LICENSE\",\n \"README.md\",\n \"build-info.json\",\n \"index.js\",\n \"cjs/\",\n \"umd/\"\n ]\n}\n",
@@ -14560,7 +14560,7 @@
14560
14560
  "node_modules/typescript/lib/tsserverlibrary.d.ts": "/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\nimport ts = require(\"./typescript.js\");\nexport = ts;\n",
14561
14561
  "node_modules/typescript/lib/typescript.d.ts": "/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\ndeclare namespace ts {\n namespace server {\n namespace protocol {\n export import ApplicableRefactorInfo = ts.ApplicableRefactorInfo;\n export import ClassificationType = ts.ClassificationType;\n export import CompletionsTriggerCharacter = ts.CompletionsTriggerCharacter;\n export import CompletionTriggerKind = ts.CompletionTriggerKind;\n export import InlayHintKind = ts.InlayHintKind;\n export import OrganizeImportsMode = ts.OrganizeImportsMode;\n export import RefactorActionInfo = ts.RefactorActionInfo;\n export import RefactorTriggerReason = ts.RefactorTriggerReason;\n export import RenameInfoFailure = ts.RenameInfoFailure;\n export import SemicolonPreference = ts.SemicolonPreference;\n export import SignatureHelpCharacterTypedReason = ts.SignatureHelpCharacterTypedReason;\n export import SignatureHelpInvokedReason = ts.SignatureHelpInvokedReason;\n export import SignatureHelpParameter = ts.SignatureHelpParameter;\n export import SignatureHelpRetriggerCharacter = ts.SignatureHelpRetriggerCharacter;\n export import SignatureHelpRetriggeredReason = ts.SignatureHelpRetriggeredReason;\n export import SignatureHelpTriggerCharacter = ts.SignatureHelpTriggerCharacter;\n export import SignatureHelpTriggerReason = ts.SignatureHelpTriggerReason;\n export import SymbolDisplayPart = ts.SymbolDisplayPart;\n export import UserPreferences = ts.UserPreferences;\n type ChangePropertyTypes<\n T,\n Substitutions extends {\n [K in keyof T]?: any;\n },\n > = {\n [K in keyof T]: K extends keyof Substitutions ? Substitutions[K] : T[K];\n };\n type ChangeStringIndexSignature<T, NewStringIndexSignatureType> = {\n [K in keyof T]: string extends K ? NewStringIndexSignatureType : T[K];\n };\n export enum CommandTypes {\n JsxClosingTag = \"jsxClosingTag\",\n LinkedEditingRange = \"linkedEditingRange\",\n Brace = \"brace\",\n BraceCompletion = \"braceCompletion\",\n GetSpanOfEnclosingComment = \"getSpanOfEnclosingComment\",\n Change = \"change\",\n Close = \"close\",\n /** @deprecated Prefer CompletionInfo -- see comment on CompletionsResponse */\n Completions = \"completions\",\n CompletionInfo = \"completionInfo\",\n CompletionDetails = \"completionEntryDetails\",\n CompileOnSaveAffectedFileList = \"compileOnSaveAffectedFileList\",\n CompileOnSaveEmitFile = \"compileOnSaveEmitFile\",\n Configure = \"configure\",\n Definition = \"definition\",\n DefinitionAndBoundSpan = \"definitionAndBoundSpan\",\n Implementation = \"implementation\",\n Exit = \"exit\",\n FileReferences = \"fileReferences\",\n Format = \"format\",\n Formatonkey = \"formatonkey\",\n Geterr = \"geterr\",\n GeterrForProject = \"geterrForProject\",\n SemanticDiagnosticsSync = \"semanticDiagnosticsSync\",\n SyntacticDiagnosticsSync = \"syntacticDiagnosticsSync\",\n SuggestionDiagnosticsSync = \"suggestionDiagnosticsSync\",\n NavBar = \"navbar\",\n Navto = \"navto\",\n NavTree = \"navtree\",\n NavTreeFull = \"navtree-full\",\n DocumentHighlights = \"documentHighlights\",\n Open = \"open\",\n Quickinfo = \"quickinfo\",\n References = \"references\",\n Reload = \"reload\",\n Rename = \"rename\",\n Saveto = \"saveto\",\n SignatureHelp = \"signatureHelp\",\n FindSourceDefinition = \"findSourceDefinition\",\n Status = \"status\",\n TypeDefinition = \"typeDefinition\",\n ProjectInfo = \"projectInfo\",\n ReloadProjects = \"reloadProjects\",\n Unknown = \"unknown\",\n OpenExternalProject = \"openExternalProject\",\n OpenExternalProjects = \"openExternalProjects\",\n CloseExternalProject = \"closeExternalProject\",\n UpdateOpen = \"updateOpen\",\n GetOutliningSpans = \"getOutliningSpans\",\n TodoComments = \"todoComments\",\n Indentation = \"indentation\",\n DocCommentTemplate = \"docCommentTemplate\",\n CompilerOptionsForInferredProjects = \"compilerOptionsForInferredProjects\",\n GetCodeFixes = \"getCodeFixes\",\n GetCombinedCodeFix = \"getCombinedCodeFix\",\n ApplyCodeActionCommand = \"applyCodeActionCommand\",\n GetSupportedCodeFixes = \"getSupportedCodeFixes\",\n GetApplicableRefactors = \"getApplicableRefactors\",\n GetEditsForRefactor = \"getEditsForRefactor\",\n GetMoveToRefactoringFileSuggestions = \"getMoveToRefactoringFileSuggestions\",\n PreparePasteEdits = \"preparePasteEdits\",\n GetPasteEdits = \"getPasteEdits\",\n OrganizeImports = \"organizeImports\",\n GetEditsForFileRename = \"getEditsForFileRename\",\n ConfigurePlugin = \"configurePlugin\",\n SelectionRange = \"selectionRange\",\n ToggleLineComment = \"toggleLineComment\",\n ToggleMultilineComment = \"toggleMultilineComment\",\n CommentSelection = \"commentSelection\",\n UncommentSelection = \"uncommentSelection\",\n PrepareCallHierarchy = \"prepareCallHierarchy\",\n ProvideCallHierarchyIncomingCalls = \"provideCallHierarchyIncomingCalls\",\n ProvideCallHierarchyOutgoingCalls = \"provideCallHierarchyOutgoingCalls\",\n ProvideInlayHints = \"provideInlayHints\",\n WatchChange = \"watchChange\",\n MapCode = \"mapCode\",\n }\n /**\n * A TypeScript Server message\n */\n export interface Message {\n /**\n * Sequence number of the message\n */\n seq: number;\n /**\n * One of \"request\", \"response\", or \"event\"\n */\n type: \"request\" | \"response\" | \"event\";\n }\n /**\n * Client-initiated request message\n */\n export interface Request extends Message {\n type: \"request\";\n /**\n * The command to execute\n */\n command: string;\n /**\n * Object containing arguments for the command\n */\n arguments?: any;\n }\n /**\n * Request to reload the project structure for all the opened files\n */\n export interface ReloadProjectsRequest extends Request {\n command: CommandTypes.ReloadProjects;\n }\n /**\n * Server-initiated event message\n */\n export interface Event extends Message {\n type: \"event\";\n /**\n * Name of event\n */\n event: string;\n /**\n * Event-specific information\n */\n body?: any;\n }\n /**\n * Response by server to client request message.\n */\n export interface Response extends Message {\n type: \"response\";\n /**\n * Sequence number of the request message.\n */\n request_seq: number;\n /**\n * Outcome of the request.\n */\n success: boolean;\n /**\n * The command requested.\n */\n command: string;\n /**\n * If success === false, this should always be provided.\n * Otherwise, may (or may not) contain a success message.\n */\n message?: string;\n /**\n * Contains message body if success === true.\n */\n body?: any;\n /**\n * Contains extra information that plugin can include to be passed on\n */\n metadata?: unknown;\n /**\n * Exposes information about the performance of this request-response pair.\n */\n performanceData?: PerformanceData;\n }\n export interface PerformanceData {\n /**\n * Time spent updating the program graph, in milliseconds.\n */\n updateGraphDurationMs?: number;\n /**\n * The time spent creating or updating the auto-import program, in milliseconds.\n */\n createAutoImportProviderProgramDurationMs?: number;\n /**\n * The time spent computing diagnostics, in milliseconds.\n */\n diagnosticsDuration?: FileDiagnosticPerformanceData[];\n }\n /**\n * Time spent computing each kind of diagnostics, in milliseconds.\n */\n export type DiagnosticPerformanceData = {\n [Kind in DiagnosticEventKind]?: number;\n };\n export interface FileDiagnosticPerformanceData extends DiagnosticPerformanceData {\n /**\n * The file for which the performance data is reported.\n */\n file: string;\n }\n /**\n * Arguments for FileRequest messages.\n */\n export interface FileRequestArgs {\n /**\n * The file for the request (absolute pathname required).\n */\n file: string;\n projectFileName?: string;\n }\n export interface StatusRequest extends Request {\n command: CommandTypes.Status;\n }\n export interface StatusResponseBody {\n /**\n * The TypeScript version (`ts.version`).\n */\n version: string;\n }\n /**\n * Response to StatusRequest\n */\n export interface StatusResponse extends Response {\n body: StatusResponseBody;\n }\n /**\n * Requests a JS Doc comment template for a given position\n */\n export interface DocCommentTemplateRequest extends FileLocationRequest {\n command: CommandTypes.DocCommentTemplate;\n }\n /**\n * Response to DocCommentTemplateRequest\n */\n export interface DocCommandTemplateResponse extends Response {\n body?: TextInsertion;\n }\n /**\n * A request to get TODO comments from the file\n */\n export interface TodoCommentRequest extends FileRequest {\n command: CommandTypes.TodoComments;\n arguments: TodoCommentRequestArgs;\n }\n /**\n * Arguments for TodoCommentRequest request.\n */\n export interface TodoCommentRequestArgs extends FileRequestArgs {\n /**\n * Array of target TodoCommentDescriptors that describes TODO comments to be found\n */\n descriptors: TodoCommentDescriptor[];\n }\n /**\n * Response for TodoCommentRequest request.\n */\n export interface TodoCommentsResponse extends Response {\n body?: TodoComment[];\n }\n /**\n * A request to determine if the caret is inside a comment.\n */\n export interface SpanOfEnclosingCommentRequest extends FileLocationRequest {\n command: CommandTypes.GetSpanOfEnclosingComment;\n arguments: SpanOfEnclosingCommentRequestArgs;\n }\n export interface SpanOfEnclosingCommentRequestArgs extends FileLocationRequestArgs {\n /**\n * Requires that the enclosing span be a multi-line comment, or else the request returns undefined.\n */\n onlyMultiLine: boolean;\n }\n /**\n * Request to obtain outlining spans in file.\n */\n export interface OutliningSpansRequest extends FileRequest {\n command: CommandTypes.GetOutliningSpans;\n }\n export type OutliningSpan = ChangePropertyTypes<ts.OutliningSpan, {\n textSpan: TextSpan;\n hintSpan: TextSpan;\n }>;\n /**\n * Response to OutliningSpansRequest request.\n */\n export interface OutliningSpansResponse extends Response {\n body?: OutliningSpan[];\n }\n /**\n * A request to get indentation for a location in file\n */\n export interface IndentationRequest extends FileLocationRequest {\n command: CommandTypes.Indentation;\n arguments: IndentationRequestArgs;\n }\n /**\n * Response for IndentationRequest request.\n */\n export interface IndentationResponse extends Response {\n body?: IndentationResult;\n }\n /**\n * Indentation result representing where indentation should be placed\n */\n export interface IndentationResult {\n /**\n * The base position in the document that the indent should be relative to\n */\n position: number;\n /**\n * The number of columns the indent should be at relative to the position's column.\n */\n indentation: number;\n }\n /**\n * Arguments for IndentationRequest request.\n */\n export interface IndentationRequestArgs extends FileLocationRequestArgs {\n /**\n * An optional set of settings to be used when computing indentation.\n * If argument is omitted - then it will use settings for file that were previously set via 'configure' request or global settings.\n */\n options?: EditorSettings;\n }\n /**\n * Arguments for ProjectInfoRequest request.\n */\n export interface ProjectInfoRequestArgs extends FileRequestArgs {\n /**\n * Indicate if the file name list of the project is needed\n */\n needFileNameList: boolean;\n /**\n * if true returns details about default configured project calculation\n */\n needDefaultConfiguredProjectInfo?: boolean;\n }\n /**\n * A request to get the project information of the current file.\n */\n export interface ProjectInfoRequest extends Request {\n command: CommandTypes.ProjectInfo;\n arguments: ProjectInfoRequestArgs;\n }\n /**\n * A request to retrieve compiler options diagnostics for a project\n */\n export interface CompilerOptionsDiagnosticsRequest extends Request {\n arguments: CompilerOptionsDiagnosticsRequestArgs;\n }\n /**\n * Arguments for CompilerOptionsDiagnosticsRequest request.\n */\n export interface CompilerOptionsDiagnosticsRequestArgs {\n /**\n * Name of the project to retrieve compiler options diagnostics.\n */\n projectFileName: string;\n }\n /**\n * Details about the default project for the file if tsconfig file is found\n */\n export interface DefaultConfiguredProjectInfo {\n /** List of config files looked and did not match because file was not part of root file names */\n notMatchedByConfig?: readonly string[];\n /** List of projects which were loaded but file was not part of the project or is file from referenced project */\n notInProject?: readonly string[];\n /** Configured project used as default */\n defaultProject?: string;\n }\n /**\n * Response message body for \"projectInfo\" request\n */\n export interface ProjectInfo {\n /**\n * For configured project, this is the normalized path of the 'tsconfig.json' file\n * For inferred project, this is undefined\n */\n configFileName: string;\n /**\n * The list of normalized file name in the project, including 'lib.d.ts'\n */\n fileNames?: string[];\n /**\n * Indicates if the project has a active language service instance\n */\n languageServiceDisabled?: boolean;\n /**\n * Information about default project\n */\n configuredProjectInfo?: DefaultConfiguredProjectInfo;\n }\n /**\n * Represents diagnostic info that includes location of diagnostic in two forms\n * - start position and length of the error span\n * - startLocation and endLocation - a pair of Location objects that store start/end line and offset of the error span.\n */\n export interface DiagnosticWithLinePosition {\n message: string;\n start: number;\n length: number;\n startLocation: Location;\n endLocation: Location;\n category: string;\n code: number;\n /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */\n reportsUnnecessary?: {};\n reportsDeprecated?: {};\n relatedInformation?: DiagnosticRelatedInformation[];\n }\n /**\n * Response message for \"projectInfo\" request\n */\n export interface ProjectInfoResponse extends Response {\n body?: ProjectInfo;\n }\n /**\n * Request whose sole parameter is a file name.\n */\n export interface FileRequest extends Request {\n arguments: FileRequestArgs;\n }\n /**\n * Instances of this interface specify a location in a source file:\n * (file, line, character offset), where line and character offset are 1-based.\n */\n export interface FileLocationRequestArgs extends FileRequestArgs {\n /**\n * The line number for the request (1-based).\n */\n line: number;\n /**\n * The character offset (on the line) for the request (1-based).\n */\n offset: number;\n }\n export type FileLocationOrRangeRequestArgs = FileLocationRequestArgs | FileRangeRequestArgs;\n /**\n * Request refactorings at a given position or selection area.\n */\n export interface GetApplicableRefactorsRequest extends Request {\n command: CommandTypes.GetApplicableRefactors;\n arguments: GetApplicableRefactorsRequestArgs;\n }\n export type GetApplicableRefactorsRequestArgs = FileLocationOrRangeRequestArgs & {\n triggerReason?: RefactorTriggerReason;\n kind?: string;\n /**\n * Include refactor actions that require additional arguments to be passed when\n * calling 'GetEditsForRefactor'. When true, clients should inspect the\n * `isInteractive` property of each returned `RefactorActionInfo`\n * and ensure they are able to collect the appropriate arguments for any\n * interactive refactor before offering it.\n */\n includeInteractiveActions?: boolean;\n };\n /**\n * Response is a list of available refactorings.\n * Each refactoring exposes one or more \"Actions\"; a user selects one action to invoke a refactoring\n */\n export interface GetApplicableRefactorsResponse extends Response {\n body?: ApplicableRefactorInfo[];\n }\n /**\n * Request refactorings at a given position or selection area to move to an existing file.\n */\n export interface GetMoveToRefactoringFileSuggestionsRequest extends Request {\n command: CommandTypes.GetMoveToRefactoringFileSuggestions;\n arguments: GetMoveToRefactoringFileSuggestionsRequestArgs;\n }\n export type GetMoveToRefactoringFileSuggestionsRequestArgs = FileLocationOrRangeRequestArgs & {\n kind?: string;\n };\n /**\n * Response is a list of available files.\n * Each refactoring exposes one or more \"Actions\"; a user selects one action to invoke a refactoring\n */\n export interface GetMoveToRefactoringFileSuggestions extends Response {\n body: {\n newFileName: string;\n files: string[];\n };\n }\n /**\n * Request to check if `pasteEdits` should be provided for a given location post copying text from that location.\n */\n export interface PreparePasteEditsRequest extends FileRequest {\n command: CommandTypes.PreparePasteEdits;\n arguments: PreparePasteEditsRequestArgs;\n }\n export interface PreparePasteEditsRequestArgs extends FileRequestArgs {\n copiedTextSpan: TextSpan[];\n }\n export interface PreparePasteEditsResponse extends Response {\n body: boolean;\n }\n /**\n * Request refactorings at a given position post pasting text from some other location.\n */\n export interface GetPasteEditsRequest extends Request {\n command: CommandTypes.GetPasteEdits;\n arguments: GetPasteEditsRequestArgs;\n }\n export interface GetPasteEditsRequestArgs extends FileRequestArgs {\n /** The text that gets pasted in a file. */\n pastedText: string[];\n /** Locations of where the `pastedText` gets added in a file. If the length of the `pastedText` and `pastedLocations` are not the same,\n * then the `pastedText` is combined into one and added at all the `pastedLocations`.\n */\n pasteLocations: TextSpan[];\n /** The source location of each `pastedText`. If present, the length of `spans` must be equal to the length of `pastedText`. */\n copiedFrom?: {\n file: string;\n spans: TextSpan[];\n };\n }\n export interface GetPasteEditsResponse extends Response {\n body: PasteEditsAction;\n }\n export interface PasteEditsAction {\n edits: FileCodeEdits[];\n fixId?: {};\n }\n export interface GetEditsForRefactorRequest extends Request {\n command: CommandTypes.GetEditsForRefactor;\n arguments: GetEditsForRefactorRequestArgs;\n }\n /**\n * Request the edits that a particular refactoring action produces.\n * Callers must specify the name of the refactor and the name of the action.\n */\n export type GetEditsForRefactorRequestArgs = FileLocationOrRangeRequestArgs & {\n refactor: string;\n action: string;\n interactiveRefactorArguments?: InteractiveRefactorArguments;\n };\n export interface GetEditsForRefactorResponse extends Response {\n body?: RefactorEditInfo;\n }\n export interface RefactorEditInfo {\n edits: FileCodeEdits[];\n /**\n * An optional location where the editor should start a rename operation once\n * the refactoring edits have been applied\n */\n renameLocation?: Location;\n renameFilename?: string;\n notApplicableReason?: string;\n }\n /**\n * Organize imports by:\n * 1) Removing unused imports\n * 2) Coalescing imports from the same module\n * 3) Sorting imports\n */\n export interface OrganizeImportsRequest extends Request {\n command: CommandTypes.OrganizeImports;\n arguments: OrganizeImportsRequestArgs;\n }\n export type OrganizeImportsScope = GetCombinedCodeFixScope;\n export interface OrganizeImportsRequestArgs {\n scope: OrganizeImportsScope;\n /** @deprecated Use `mode` instead */\n skipDestructiveCodeActions?: boolean;\n mode?: OrganizeImportsMode;\n }\n export interface OrganizeImportsResponse extends Response {\n body: readonly FileCodeEdits[];\n }\n export interface GetEditsForFileRenameRequest extends Request {\n command: CommandTypes.GetEditsForFileRename;\n arguments: GetEditsForFileRenameRequestArgs;\n }\n /** Note: Paths may also be directories. */\n export interface GetEditsForFileRenameRequestArgs {\n readonly oldFilePath: string;\n readonly newFilePath: string;\n }\n export interface GetEditsForFileRenameResponse extends Response {\n body: readonly FileCodeEdits[];\n }\n /**\n * Request for the available codefixes at a specific position.\n */\n export interface CodeFixRequest extends Request {\n command: CommandTypes.GetCodeFixes;\n arguments: CodeFixRequestArgs;\n }\n export interface GetCombinedCodeFixRequest extends Request {\n command: CommandTypes.GetCombinedCodeFix;\n arguments: GetCombinedCodeFixRequestArgs;\n }\n export interface GetCombinedCodeFixResponse extends Response {\n body: CombinedCodeActions;\n }\n export interface ApplyCodeActionCommandRequest extends Request {\n command: CommandTypes.ApplyCodeActionCommand;\n arguments: ApplyCodeActionCommandRequestArgs;\n }\n export interface ApplyCodeActionCommandResponse extends Response {\n }\n export interface FileRangeRequestArgs extends FileRequestArgs, FileRange {\n }\n /**\n * Instances of this interface specify errorcodes on a specific location in a sourcefile.\n */\n export interface CodeFixRequestArgs extends FileRangeRequestArgs {\n /**\n * Errorcodes we want to get the fixes for.\n */\n errorCodes: readonly number[];\n }\n export interface GetCombinedCodeFixRequestArgs {\n scope: GetCombinedCodeFixScope;\n fixId: {};\n }\n export interface GetCombinedCodeFixScope {\n type: \"file\";\n args: FileRequestArgs;\n }\n export interface ApplyCodeActionCommandRequestArgs {\n /** May also be an array of commands. */\n command: {};\n }\n /**\n * Response for GetCodeFixes request.\n */\n export interface GetCodeFixesResponse extends Response {\n body?: CodeAction[];\n }\n /**\n * A request whose arguments specify a file location (file, line, col).\n */\n export interface FileLocationRequest extends FileRequest {\n arguments: FileLocationRequestArgs;\n }\n /**\n * A request to get codes of supported code fixes.\n */\n export interface GetSupportedCodeFixesRequest extends Request {\n command: CommandTypes.GetSupportedCodeFixes;\n arguments?: Partial<FileRequestArgs>;\n }\n /**\n * A response for GetSupportedCodeFixesRequest request.\n */\n export interface GetSupportedCodeFixesResponse extends Response {\n /**\n * List of error codes supported by the server.\n */\n body?: string[];\n }\n /**\n * A request to get encoded semantic classifications for a span in the file\n */\n export interface EncodedSemanticClassificationsRequest extends FileRequest {\n arguments: EncodedSemanticClassificationsRequestArgs;\n }\n /**\n * Arguments for EncodedSemanticClassificationsRequest request.\n */\n export interface EncodedSemanticClassificationsRequestArgs extends FileRequestArgs {\n /**\n * Start position of the span.\n */\n start: number;\n /**\n * Length of the span.\n */\n length: number;\n /**\n * Optional parameter for the semantic highlighting response, if absent it\n * defaults to \"original\".\n */\n format?: \"original\" | \"2020\";\n }\n /** The response for a EncodedSemanticClassificationsRequest */\n export interface EncodedSemanticClassificationsResponse extends Response {\n body?: EncodedSemanticClassificationsResponseBody;\n }\n /**\n * Implementation response message. Gives series of text spans depending on the format ar.\n */\n export interface EncodedSemanticClassificationsResponseBody {\n endOfLineState: EndOfLineState;\n spans: number[];\n }\n /**\n * Arguments in document highlight request; include: filesToSearch, file,\n * line, offset.\n */\n export interface DocumentHighlightsRequestArgs extends FileLocationRequestArgs {\n /**\n * List of files to search for document highlights.\n */\n filesToSearch: string[];\n }\n /**\n * Go to definition request; value of command field is\n * \"definition\". Return response giving the file locations that\n * define the symbol found in file at location line, col.\n */\n export interface DefinitionRequest extends FileLocationRequest {\n command: CommandTypes.Definition;\n }\n export interface DefinitionAndBoundSpanRequest extends FileLocationRequest {\n readonly command: CommandTypes.DefinitionAndBoundSpan;\n }\n export interface FindSourceDefinitionRequest extends FileLocationRequest {\n readonly command: CommandTypes.FindSourceDefinition;\n }\n export interface DefinitionAndBoundSpanResponse extends Response {\n readonly body: DefinitionInfoAndBoundSpan;\n }\n /**\n * Go to type request; value of command field is\n * \"typeDefinition\". Return response giving the file locations that\n * define the type for the symbol found in file at location line, col.\n */\n export interface TypeDefinitionRequest extends FileLocationRequest {\n command: CommandTypes.TypeDefinition;\n }\n /**\n * Go to implementation request; value of command field is\n * \"implementation\". Return response giving the file locations that\n * implement the symbol found in file at location line, col.\n */\n export interface ImplementationRequest extends FileLocationRequest {\n command: CommandTypes.Implementation;\n }\n /**\n * Location in source code expressed as (one-based) line and (one-based) column offset.\n */\n export interface Location {\n line: number;\n offset: number;\n }\n /**\n * Object found in response messages defining a span of text in source code.\n */\n export interface TextSpan {\n /**\n * First character of the definition.\n */\n start: Location;\n /**\n * One character past last character of the definition.\n */\n end: Location;\n }\n /**\n * Object found in response messages defining a span of text in a specific source file.\n */\n export interface FileSpan extends TextSpan {\n /**\n * File containing text span.\n */\n file: string;\n }\n export interface JSDocTagInfo {\n /** Name of the JSDoc tag */\n name: string;\n /**\n * Comment text after the JSDoc tag -- the text after the tag name until the next tag or end of comment\n * Display parts when UserPreferences.displayPartsForJSDoc is true, flattened to string otherwise.\n */\n text?: string | SymbolDisplayPart[];\n }\n export interface TextSpanWithContext extends TextSpan {\n contextStart?: Location;\n contextEnd?: Location;\n }\n export interface FileSpanWithContext extends FileSpan, TextSpanWithContext {\n }\n export interface DefinitionInfo extends FileSpanWithContext {\n /**\n * When true, the file may or may not exist.\n */\n unverified?: boolean;\n }\n export interface DefinitionInfoAndBoundSpan {\n definitions: readonly DefinitionInfo[];\n textSpan: TextSpan;\n }\n /**\n * Definition response message. Gives text range for definition.\n */\n export interface DefinitionResponse extends Response {\n body?: DefinitionInfo[];\n }\n export interface DefinitionInfoAndBoundSpanResponse extends Response {\n body?: DefinitionInfoAndBoundSpan;\n }\n /** @deprecated Use `DefinitionInfoAndBoundSpanResponse` instead. */\n export type DefinitionInfoAndBoundSpanReponse = DefinitionInfoAndBoundSpanResponse;\n /**\n * Definition response message. Gives text range for definition.\n */\n export interface TypeDefinitionResponse extends Response {\n body?: FileSpanWithContext[];\n }\n /**\n * Implementation response message. Gives text range for implementations.\n */\n export interface ImplementationResponse extends Response {\n body?: FileSpanWithContext[];\n }\n /**\n * Request to get brace completion for a location in the file.\n */\n export interface BraceCompletionRequest extends FileLocationRequest {\n command: CommandTypes.BraceCompletion;\n arguments: BraceCompletionRequestArgs;\n }\n /**\n * Argument for BraceCompletionRequest request.\n */\n export interface BraceCompletionRequestArgs extends FileLocationRequestArgs {\n /**\n * Kind of opening brace\n */\n openingBrace: string;\n }\n export interface JsxClosingTagRequest extends FileLocationRequest {\n readonly command: CommandTypes.JsxClosingTag;\n readonly arguments: JsxClosingTagRequestArgs;\n }\n export interface JsxClosingTagRequestArgs extends FileLocationRequestArgs {\n }\n export interface JsxClosingTagResponse extends Response {\n readonly body: TextInsertion;\n }\n export interface LinkedEditingRangeRequest extends FileLocationRequest {\n readonly command: CommandTypes.LinkedEditingRange;\n }\n export interface LinkedEditingRangesBody {\n ranges: TextSpan[];\n wordPattern?: string;\n }\n export interface LinkedEditingRangeResponse extends Response {\n readonly body: LinkedEditingRangesBody;\n }\n /**\n * Get document highlights request; value of command field is\n * \"documentHighlights\". Return response giving spans that are relevant\n * in the file at a given line and column.\n */\n export interface DocumentHighlightsRequest extends FileLocationRequest {\n command: CommandTypes.DocumentHighlights;\n arguments: DocumentHighlightsRequestArgs;\n }\n /**\n * Span augmented with extra information that denotes the kind of the highlighting to be used for span.\n */\n export interface HighlightSpan extends TextSpanWithContext {\n kind: HighlightSpanKind;\n }\n /**\n * Represents a set of highligh spans for a give name\n */\n export interface DocumentHighlightsItem {\n /**\n * File containing highlight spans.\n */\n file: string;\n /**\n * Spans to highlight in file.\n */\n highlightSpans: HighlightSpan[];\n }\n /**\n * Response for a DocumentHighlightsRequest request.\n */\n export interface DocumentHighlightsResponse extends Response {\n body?: DocumentHighlightsItem[];\n }\n /**\n * Find references request; value of command field is\n * \"references\". Return response giving the file locations that\n * reference the symbol found in file at location line, col.\n */\n export interface ReferencesRequest extends FileLocationRequest {\n command: CommandTypes.References;\n }\n export interface ReferencesResponseItem extends FileSpanWithContext {\n /**\n * Text of line containing the reference. Including this\n * with the response avoids latency of editor loading files\n * to show text of reference line (the server already has loaded the referencing files).\n *\n * If {@link UserPreferences.disableLineTextInReferences} is enabled, the property won't be filled\n */\n lineText?: string;\n /**\n * True if reference is a write location, false otherwise.\n */\n isWriteAccess: boolean;\n /**\n * Present only if the search was triggered from a declaration.\n * True indicates that the references refers to the same symbol\n * (i.e. has the same meaning) as the declaration that began the\n * search.\n */\n isDefinition?: boolean;\n }\n /**\n * The body of a \"references\" response message.\n */\n export interface ReferencesResponseBody {\n /**\n * The file locations referencing the symbol.\n */\n refs: readonly ReferencesResponseItem[];\n /**\n * The name of the symbol.\n */\n symbolName: string;\n /**\n * The start character offset of the symbol (on the line provided by the references request).\n */\n symbolStartOffset: number;\n /**\n * The full display name of the symbol.\n */\n symbolDisplayString: string;\n }\n /**\n * Response to \"references\" request.\n */\n export interface ReferencesResponse extends Response {\n body?: ReferencesResponseBody;\n }\n export interface FileReferencesRequest extends FileRequest {\n command: CommandTypes.FileReferences;\n }\n export interface FileReferencesResponseBody {\n /**\n * The file locations referencing the symbol.\n */\n refs: readonly ReferencesResponseItem[];\n /**\n * The name of the symbol.\n */\n symbolName: string;\n }\n export interface FileReferencesResponse extends Response {\n body?: FileReferencesResponseBody;\n }\n /**\n * Argument for RenameRequest request.\n */\n export interface RenameRequestArgs extends FileLocationRequestArgs {\n /**\n * Should text at specified location be found/changed in comments?\n */\n findInComments?: boolean;\n /**\n * Should text at specified location be found/changed in strings?\n */\n findInStrings?: boolean;\n }\n /**\n * Rename request; value of command field is \"rename\". Return\n * response giving the file locations that reference the symbol\n * found in file at location line, col. Also return full display\n * name of the symbol so that client can print it unambiguously.\n */\n export interface RenameRequest extends FileLocationRequest {\n command: CommandTypes.Rename;\n arguments: RenameRequestArgs;\n }\n /**\n * Information about the item to be renamed.\n */\n export type RenameInfo = RenameInfoSuccess | RenameInfoFailure;\n export type RenameInfoSuccess = ChangePropertyTypes<ts.RenameInfoSuccess, {\n triggerSpan: TextSpan;\n }>;\n /**\n * A group of text spans, all in 'file'.\n */\n export interface SpanGroup {\n /** The file to which the spans apply */\n file: string;\n /** The text spans in this group */\n locs: RenameTextSpan[];\n }\n export interface RenameTextSpan extends TextSpanWithContext {\n readonly prefixText?: string;\n readonly suffixText?: string;\n }\n export interface RenameResponseBody {\n /**\n * Information about the item to be renamed.\n */\n info: RenameInfo;\n /**\n * An array of span groups (one per file) that refer to the item to be renamed.\n */\n locs: readonly SpanGroup[];\n }\n /**\n * Rename response message.\n */\n export interface RenameResponse extends Response {\n body?: RenameResponseBody;\n }\n /**\n * Represents a file in external project.\n * External project is project whose set of files, compilation options and open\\close state\n * is maintained by the client (i.e. if all this data come from .csproj file in Visual Studio).\n * External project will exist even if all files in it are closed and should be closed explicitly.\n * If external project includes one or more tsconfig.json/jsconfig.json files then tsserver will\n * create configured project for every config file but will maintain a link that these projects were created\n * as a result of opening external project so they should be removed once external project is closed.\n */\n export interface ExternalFile {\n /**\n * Name of file file\n */\n fileName: string;\n /**\n * Script kind of the file\n */\n scriptKind?: ScriptKindName | ScriptKind;\n /**\n * Whether file has mixed content (i.e. .cshtml file that combines html markup with C#/JavaScript)\n */\n hasMixedContent?: boolean;\n /**\n * Content of the file\n */\n content?: string;\n }\n /**\n * Represent an external project\n */\n export interface ExternalProject {\n /**\n * Project name\n */\n projectFileName: string;\n /**\n * List of root files in project\n */\n rootFiles: ExternalFile[];\n /**\n * Compiler options for the project\n */\n options: ExternalProjectCompilerOptions;\n /**\n * Explicitly specified type acquisition for the project\n */\n typeAcquisition?: TypeAcquisition;\n }\n export interface CompileOnSaveMixin {\n /**\n * If compile on save is enabled for the project\n */\n compileOnSave?: boolean;\n }\n /**\n * For external projects, some of the project settings are sent together with\n * compiler settings.\n */\n export type ExternalProjectCompilerOptions = CompilerOptions & CompileOnSaveMixin & WatchOptions;\n export interface FileWithProjectReferenceRedirectInfo {\n /**\n * Name of file\n */\n fileName: string;\n /**\n * True if the file is primarily included in a referenced project\n */\n isSourceOfProjectReferenceRedirect: boolean;\n }\n /**\n * Represents a set of changes that happen in project\n */\n export interface ProjectChanges {\n /**\n * List of added files\n */\n added: string[] | FileWithProjectReferenceRedirectInfo[];\n /**\n * List of removed files\n */\n removed: string[] | FileWithProjectReferenceRedirectInfo[];\n /**\n * List of updated files\n */\n updated: string[] | FileWithProjectReferenceRedirectInfo[];\n /**\n * List of files that have had their project reference redirect status updated\n * Only provided when the synchronizeProjectList request has includeProjectReferenceRedirectInfo set to true\n */\n updatedRedirects?: FileWithProjectReferenceRedirectInfo[];\n }\n /**\n * Information found in a configure request.\n */\n export interface ConfigureRequestArguments {\n /**\n * Information about the host, for example 'Emacs 24.4' or\n * 'Sublime Text version 3075'\n */\n hostInfo?: string;\n /**\n * If present, tab settings apply only to this file.\n */\n file?: string;\n /**\n * The format options to use during formatting and other code editing features.\n */\n formatOptions?: FormatCodeSettings;\n preferences?: UserPreferences;\n /**\n * The host's additional supported .js file extensions\n */\n extraFileExtensions?: FileExtensionInfo[];\n watchOptions?: WatchOptions;\n }\n export enum WatchFileKind {\n FixedPollingInterval = \"FixedPollingInterval\",\n PriorityPollingInterval = \"PriorityPollingInterval\",\n DynamicPriorityPolling = \"DynamicPriorityPolling\",\n FixedChunkSizePolling = \"FixedChunkSizePolling\",\n UseFsEvents = \"UseFsEvents\",\n UseFsEventsOnParentDirectory = \"UseFsEventsOnParentDirectory\",\n }\n export enum WatchDirectoryKind {\n UseFsEvents = \"UseFsEvents\",\n FixedPollingInterval = \"FixedPollingInterval\",\n DynamicPriorityPolling = \"DynamicPriorityPolling\",\n FixedChunkSizePolling = \"FixedChunkSizePolling\",\n }\n export enum PollingWatchKind {\n FixedInterval = \"FixedInterval\",\n PriorityInterval = \"PriorityInterval\",\n DynamicPriority = \"DynamicPriority\",\n FixedChunkSize = \"FixedChunkSize\",\n }\n export interface WatchOptions {\n watchFile?: WatchFileKind | ts.WatchFileKind;\n watchDirectory?: WatchDirectoryKind | ts.WatchDirectoryKind;\n fallbackPolling?: PollingWatchKind | ts.PollingWatchKind;\n synchronousWatchDirectory?: boolean;\n excludeDirectories?: string[];\n excludeFiles?: string[];\n [option: string]: CompilerOptionsValue | undefined;\n }\n /**\n * Configure request; value of command field is \"configure\". Specifies\n * host information, such as host type, tab size, and indent size.\n */\n export interface ConfigureRequest extends Request {\n command: CommandTypes.Configure;\n arguments: ConfigureRequestArguments;\n }\n /**\n * Response to \"configure\" request. This is just an acknowledgement, so\n * no body field is required.\n */\n export interface ConfigureResponse extends Response {\n }\n export interface ConfigurePluginRequestArguments {\n pluginName: string;\n configuration: any;\n }\n export interface ConfigurePluginRequest extends Request {\n command: CommandTypes.ConfigurePlugin;\n arguments: ConfigurePluginRequestArguments;\n }\n export interface ConfigurePluginResponse extends Response {\n }\n export interface SelectionRangeRequest extends FileRequest {\n command: CommandTypes.SelectionRange;\n arguments: SelectionRangeRequestArgs;\n }\n export interface SelectionRangeRequestArgs extends FileRequestArgs {\n locations: Location[];\n }\n export interface SelectionRangeResponse extends Response {\n body?: SelectionRange[];\n }\n export interface SelectionRange {\n textSpan: TextSpan;\n parent?: SelectionRange;\n }\n export interface ToggleLineCommentRequest extends FileRequest {\n command: CommandTypes.ToggleLineComment;\n arguments: FileRangeRequestArgs;\n }\n export interface ToggleMultilineCommentRequest extends FileRequest {\n command: CommandTypes.ToggleMultilineComment;\n arguments: FileRangeRequestArgs;\n }\n export interface CommentSelectionRequest extends FileRequest {\n command: CommandTypes.CommentSelection;\n arguments: FileRangeRequestArgs;\n }\n export interface UncommentSelectionRequest extends FileRequest {\n command: CommandTypes.UncommentSelection;\n arguments: FileRangeRequestArgs;\n }\n /**\n * Information found in an \"open\" request.\n */\n export interface OpenRequestArgs extends FileRequestArgs {\n /**\n * Used when a version of the file content is known to be more up to date than the one on disk.\n * Then the known content will be used upon opening instead of the disk copy\n */\n fileContent?: string;\n /**\n * Used to specify the script kind of the file explicitly. It could be one of the following:\n * \"TS\", \"JS\", \"TSX\", \"JSX\"\n */\n scriptKindName?: ScriptKindName;\n /**\n * Used to limit the searching for project config file. If given the searching will stop at this\n * root path; otherwise it will go all the way up to the dist root path.\n */\n projectRootPath?: string;\n }\n export type ScriptKindName = \"TS\" | \"JS\" | \"TSX\" | \"JSX\";\n /**\n * Open request; value of command field is \"open\". Notify the\n * server that the client has file open. The server will not\n * monitor the filesystem for changes in this file and will assume\n * that the client is updating the server (using the change and/or\n * reload messages) when the file changes. Server does not currently\n * send a response to an open request.\n */\n export interface OpenRequest extends Request {\n command: CommandTypes.Open;\n arguments: OpenRequestArgs;\n }\n /**\n * Request to open or update external project\n */\n export interface OpenExternalProjectRequest extends Request {\n command: CommandTypes.OpenExternalProject;\n arguments: OpenExternalProjectArgs;\n }\n /**\n * Arguments to OpenExternalProjectRequest request\n */\n export type OpenExternalProjectArgs = ExternalProject;\n /**\n * Request to open multiple external projects\n */\n export interface OpenExternalProjectsRequest extends Request {\n command: CommandTypes.OpenExternalProjects;\n arguments: OpenExternalProjectsArgs;\n }\n /**\n * Arguments to OpenExternalProjectsRequest\n */\n export interface OpenExternalProjectsArgs {\n /**\n * List of external projects to open or update\n */\n projects: ExternalProject[];\n }\n /**\n * Response to OpenExternalProjectRequest request. This is just an acknowledgement, so\n * no body field is required.\n */\n export interface OpenExternalProjectResponse extends Response {\n }\n /**\n * Response to OpenExternalProjectsRequest request. This is just an acknowledgement, so\n * no body field is required.\n */\n export interface OpenExternalProjectsResponse extends Response {\n }\n /**\n * Request to close external project.\n */\n export interface CloseExternalProjectRequest extends Request {\n command: CommandTypes.CloseExternalProject;\n arguments: CloseExternalProjectRequestArgs;\n }\n /**\n * Arguments to CloseExternalProjectRequest request\n */\n export interface CloseExternalProjectRequestArgs {\n /**\n * Name of the project to close\n */\n projectFileName: string;\n }\n /**\n * Response to CloseExternalProjectRequest request. This is just an acknowledgement, so\n * no body field is required.\n */\n export interface CloseExternalProjectResponse extends Response {\n }\n /**\n * Request to synchronize list of open files with the client\n */\n export interface UpdateOpenRequest extends Request {\n command: CommandTypes.UpdateOpen;\n arguments: UpdateOpenRequestArgs;\n }\n /**\n * Arguments to UpdateOpenRequest\n */\n export interface UpdateOpenRequestArgs {\n /**\n * List of newly open files\n */\n openFiles?: OpenRequestArgs[];\n /**\n * List of open files files that were changes\n */\n changedFiles?: FileCodeEdits[];\n /**\n * List of files that were closed\n */\n closedFiles?: string[];\n }\n /**\n * External projects have a typeAcquisition option so they need to be added separately to compiler options for inferred projects.\n */\n export type InferredProjectCompilerOptions = ExternalProjectCompilerOptions & TypeAcquisition;\n /**\n * Request to set compiler options for inferred projects.\n * External projects are opened / closed explicitly.\n * Configured projects are opened when user opens loose file that has 'tsconfig.json' or 'jsconfig.json' anywhere in one of containing folders.\n * This configuration file will be used to obtain a list of files and configuration settings for the project.\n * Inferred projects are created when user opens a loose file that is not the part of external project\n * or configured project and will contain only open file and transitive closure of referenced files if 'useOneInferredProject' is false,\n * or all open loose files and its transitive closure of referenced files if 'useOneInferredProject' is true.\n */\n export interface SetCompilerOptionsForInferredProjectsRequest extends Request {\n command: CommandTypes.CompilerOptionsForInferredProjects;\n arguments: SetCompilerOptionsForInferredProjectsArgs;\n }\n /**\n * Argument for SetCompilerOptionsForInferredProjectsRequest request.\n */\n export interface SetCompilerOptionsForInferredProjectsArgs {\n /**\n * Compiler options to be used with inferred projects.\n */\n options: InferredProjectCompilerOptions;\n /**\n * Specifies the project root path used to scope compiler options.\n * It is an error to provide this property if the server has not been started with\n * `useInferredProjectPerProjectRoot` enabled.\n */\n projectRootPath?: string;\n }\n /**\n * Response to SetCompilerOptionsForInferredProjectsResponse request. This is just an acknowledgement, so\n * no body field is required.\n */\n export interface SetCompilerOptionsForInferredProjectsResponse extends Response {\n }\n /**\n * Exit request; value of command field is \"exit\". Ask the server process\n * to exit.\n */\n export interface ExitRequest extends Request {\n command: CommandTypes.Exit;\n }\n /**\n * Close request; value of command field is \"close\". Notify the\n * server that the client has closed a previously open file. If\n * file is still referenced by open files, the server will resume\n * monitoring the filesystem for changes to file. Server does not\n * currently send a response to a close request.\n */\n export interface CloseRequest extends FileRequest {\n command: CommandTypes.Close;\n }\n export interface WatchChangeRequest extends Request {\n command: CommandTypes.WatchChange;\n arguments: WatchChangeRequestArgs | readonly WatchChangeRequestArgs[];\n }\n export interface WatchChangeRequestArgs {\n id: number;\n created?: string[];\n deleted?: string[];\n updated?: string[];\n }\n /**\n * Request to obtain the list of files that should be regenerated if target file is recompiled.\n * NOTE: this us query-only operation and does not generate any output on disk.\n */\n export interface CompileOnSaveAffectedFileListRequest extends FileRequest {\n command: CommandTypes.CompileOnSaveAffectedFileList;\n }\n /**\n * Contains a list of files that should be regenerated in a project\n */\n export interface CompileOnSaveAffectedFileListSingleProject {\n /**\n * Project name\n */\n projectFileName: string;\n /**\n * List of files names that should be recompiled\n */\n fileNames: string[];\n /**\n * true if project uses outFile or out compiler option\n */\n projectUsesOutFile: boolean;\n }\n /**\n * Response for CompileOnSaveAffectedFileListRequest request;\n */\n export interface CompileOnSaveAffectedFileListResponse extends Response {\n body: CompileOnSaveAffectedFileListSingleProject[];\n }\n /**\n * Request to recompile the file. All generated outputs (.js, .d.ts or .js.map files) is written on disk.\n */\n export interface CompileOnSaveEmitFileRequest extends FileRequest {\n command: CommandTypes.CompileOnSaveEmitFile;\n arguments: CompileOnSaveEmitFileRequestArgs;\n }\n /**\n * Arguments for CompileOnSaveEmitFileRequest\n */\n export interface CompileOnSaveEmitFileRequestArgs extends FileRequestArgs {\n /**\n * if true - then file should be recompiled even if it does not have any changes.\n */\n forced?: boolean;\n includeLinePosition?: boolean;\n /** if true - return response as object with emitSkipped and diagnostics */\n richResponse?: boolean;\n }\n export interface CompileOnSaveEmitFileResponse extends Response {\n body: boolean | EmitResult;\n }\n export interface EmitResult {\n emitSkipped: boolean;\n diagnostics: Diagnostic[] | DiagnosticWithLinePosition[];\n }\n /**\n * Quickinfo request; value of command field is\n * \"quickinfo\". Return response giving a quick type and\n * documentation string for the symbol found in file at location\n * line, col.\n */\n export interface QuickInfoRequest extends FileLocationRequest {\n command: CommandTypes.Quickinfo;\n arguments: FileLocationRequestArgs;\n }\n /**\n * Body of QuickInfoResponse.\n */\n export interface QuickInfoResponseBody {\n /**\n * The symbol's kind (such as 'className' or 'parameterName' or plain 'text').\n */\n kind: ScriptElementKind;\n /**\n * Optional modifiers for the kind (such as 'public').\n */\n kindModifiers: string;\n /**\n * Starting file location of symbol.\n */\n start: Location;\n /**\n * One past last character of symbol.\n */\n end: Location;\n /**\n * Type and kind of symbol.\n */\n displayString: string;\n /**\n * Documentation associated with symbol.\n * Display parts when UserPreferences.displayPartsForJSDoc is true, flattened to string otherwise.\n */\n documentation: string | SymbolDisplayPart[];\n /**\n * JSDoc tags associated with symbol.\n */\n tags: JSDocTagInfo[];\n }\n /**\n * Quickinfo response message.\n */\n export interface QuickInfoResponse extends Response {\n body?: QuickInfoResponseBody;\n }\n /**\n * Arguments for format messages.\n */\n export interface FormatRequestArgs extends FileLocationRequestArgs {\n /**\n * Last line of range for which to format text in file.\n */\n endLine: number;\n /**\n * Character offset on last line of range for which to format text in file.\n */\n endOffset: number;\n /**\n * Format options to be used.\n */\n options?: FormatCodeSettings;\n }\n /**\n * Format request; value of command field is \"format\". Return\n * response giving zero or more edit instructions. The edit\n * instructions will be sorted in file order. Applying the edit\n * instructions in reverse to file will result in correctly\n * reformatted text.\n */\n export interface FormatRequest extends FileLocationRequest {\n command: CommandTypes.Format;\n arguments: FormatRequestArgs;\n }\n /**\n * Object found in response messages defining an editing\n * instruction for a span of text in source code. The effect of\n * this instruction is to replace the text starting at start and\n * ending one character before end with newText. For an insertion,\n * the text span is empty. For a deletion, newText is empty.\n */\n export interface CodeEdit {\n /**\n * First character of the text span to edit.\n */\n start: Location;\n /**\n * One character past last character of the text span to edit.\n */\n end: Location;\n /**\n * Replace the span defined above with this string (may be\n * the empty string).\n */\n newText: string;\n }\n export interface FileCodeEdits {\n fileName: string;\n textChanges: CodeEdit[];\n }\n export interface CodeFixResponse extends Response {\n /** The code actions that are available */\n body?: CodeFixAction[];\n }\n export interface CodeAction {\n /** Description of the code action to display in the UI of the editor */\n description: string;\n /** Text changes to apply to each file as part of the code action */\n changes: FileCodeEdits[];\n /** A command is an opaque object that should be passed to `ApplyCodeActionCommandRequestArgs` without modification. */\n commands?: {}[];\n }\n export interface CombinedCodeActions {\n changes: readonly FileCodeEdits[];\n commands?: readonly {}[];\n }\n export interface CodeFixAction extends CodeAction {\n /** Short name to identify the fix, for use by telemetry. */\n fixName: string;\n /**\n * If present, one may call 'getCombinedCodeFix' with this fixId.\n * This may be omitted to indicate that the code fix can't be applied in a group.\n */\n fixId?: {};\n /** Should be present if and only if 'fixId' is. */\n fixAllDescription?: string;\n }\n /**\n * Format and format on key response message.\n */\n export interface FormatResponse extends Response {\n body?: CodeEdit[];\n }\n /**\n * Arguments for format on key messages.\n */\n export interface FormatOnKeyRequestArgs extends FileLocationRequestArgs {\n /**\n * Key pressed (';', '\\n', or '}').\n */\n key: string;\n options?: FormatCodeSettings;\n }\n /**\n * Format on key request; value of command field is\n * \"formatonkey\". Given file location and key typed (as string),\n * return response giving zero or more edit instructions. The\n * edit instructions will be sorted in file order. Applying the\n * edit instructions in reverse to file will result in correctly\n * reformatted text.\n */\n export interface FormatOnKeyRequest extends FileLocationRequest {\n command: CommandTypes.Formatonkey;\n arguments: FormatOnKeyRequestArgs;\n }\n /**\n * Arguments for completions messages.\n */\n export interface CompletionsRequestArgs extends FileLocationRequestArgs {\n /**\n * Optional prefix to apply to possible completions.\n */\n prefix?: string;\n /**\n * Character that was responsible for triggering completion.\n * Should be `undefined` if a user manually requested completion.\n */\n triggerCharacter?: CompletionsTriggerCharacter;\n triggerKind?: CompletionTriggerKind;\n /**\n * @deprecated Use UserPreferences.includeCompletionsForModuleExports\n */\n includeExternalModuleExports?: boolean;\n /**\n * @deprecated Use UserPreferences.includeCompletionsWithInsertText\n */\n includeInsertTextCompletions?: boolean;\n }\n /**\n * Completions request; value of command field is \"completions\".\n * Given a file location (file, line, col) and a prefix (which may\n * be the empty string), return the possible completions that\n * begin with prefix.\n */\n export interface CompletionsRequest extends FileLocationRequest {\n command: CommandTypes.Completions | CommandTypes.CompletionInfo;\n arguments: CompletionsRequestArgs;\n }\n /**\n * Arguments for completion details request.\n */\n export interface CompletionDetailsRequestArgs extends FileLocationRequestArgs {\n /**\n * Names of one or more entries for which to obtain details.\n */\n entryNames: (string | CompletionEntryIdentifier)[];\n }\n export interface CompletionEntryIdentifier {\n name: string;\n source?: string;\n data?: unknown;\n }\n /**\n * Completion entry details request; value of command field is\n * \"completionEntryDetails\". Given a file location (file, line,\n * col) and an array of completion entry names return more\n * detailed information for each completion entry.\n */\n export interface CompletionDetailsRequest extends FileLocationRequest {\n command: CommandTypes.CompletionDetails;\n arguments: CompletionDetailsRequestArgs;\n }\n /** A part of a symbol description that links from a jsdoc @link tag to a declaration */\n export interface JSDocLinkDisplayPart extends SymbolDisplayPart {\n /** The location of the declaration that the @link tag links to. */\n target: FileSpan;\n }\n export type CompletionEntry = ChangePropertyTypes<Omit<ts.CompletionEntry, \"symbol\">, {\n replacementSpan: TextSpan;\n data: unknown;\n }>;\n /**\n * Additional completion entry details, available on demand\n */\n export type CompletionEntryDetails = ChangePropertyTypes<ts.CompletionEntryDetails, {\n tags: JSDocTagInfo[];\n codeActions: CodeAction[];\n }>;\n /** @deprecated Prefer CompletionInfoResponse, which supports several top-level fields in addition to the array of entries. */\n export interface CompletionsResponse extends Response {\n body?: CompletionEntry[];\n }\n export interface CompletionInfoResponse extends Response {\n body?: CompletionInfo;\n }\n export type CompletionInfo = ChangePropertyTypes<ts.CompletionInfo, {\n entries: readonly CompletionEntry[];\n optionalReplacementSpan: TextSpan;\n }>;\n export interface CompletionDetailsResponse extends Response {\n body?: CompletionEntryDetails[];\n }\n /**\n * Represents a single signature to show in signature help.\n */\n export type SignatureHelpItem = ChangePropertyTypes<ts.SignatureHelpItem, {\n tags: JSDocTagInfo[];\n }>;\n /**\n * Signature help items found in the response of a signature help request.\n */\n export interface SignatureHelpItems {\n /**\n * The signature help items.\n */\n items: SignatureHelpItem[];\n /**\n * The span for which signature help should appear on a signature\n */\n applicableSpan: TextSpan;\n /**\n * The item selected in the set of available help items.\n */\n selectedItemIndex: number;\n /**\n * The argument selected in the set of parameters.\n */\n argumentIndex: number;\n /**\n * The argument count\n */\n argumentCount: number;\n }\n /**\n * Arguments of a signature help request.\n */\n export interface SignatureHelpRequestArgs extends FileLocationRequestArgs {\n /**\n * Reason why signature help was invoked.\n * See each individual possible\n */\n triggerReason?: SignatureHelpTriggerReason;\n }\n /**\n * Signature help request; value of command field is \"signatureHelp\".\n * Given a file location (file, line, col), return the signature\n * help.\n */\n export interface SignatureHelpRequest extends FileLocationRequest {\n command: CommandTypes.SignatureHelp;\n arguments: SignatureHelpRequestArgs;\n }\n /**\n * Response object for a SignatureHelpRequest.\n */\n export interface SignatureHelpResponse extends Response {\n body?: SignatureHelpItems;\n }\n export interface InlayHintsRequestArgs extends FileRequestArgs {\n /**\n * Start position of the span.\n */\n start: number;\n /**\n * Length of the span.\n */\n length: number;\n }\n export interface InlayHintsRequest extends Request {\n command: CommandTypes.ProvideInlayHints;\n arguments: InlayHintsRequestArgs;\n }\n export type InlayHintItem = ChangePropertyTypes<ts.InlayHint, {\n position: Location;\n displayParts: InlayHintItemDisplayPart[];\n }>;\n export interface InlayHintItemDisplayPart {\n text: string;\n span?: FileSpan;\n }\n export interface InlayHintsResponse extends Response {\n body?: InlayHintItem[];\n }\n export interface MapCodeRequestArgs extends FileRequestArgs {\n /**\n * The files and changes to try and apply/map.\n */\n mapping: MapCodeRequestDocumentMapping;\n }\n export interface MapCodeRequestDocumentMapping {\n /**\n * The specific code to map/insert/replace in the file.\n */\n contents: string[];\n /**\n * Areas of \"focus\" to inform the code mapper with. For example, cursor\n * location, current selection, viewport, etc. Nested arrays denote\n * priority: toplevel arrays are more important than inner arrays, and\n * inner array priorities are based on items within that array. Items\n * earlier in the arrays have higher priority.\n */\n focusLocations?: TextSpan[][];\n }\n export interface MapCodeRequest extends FileRequest {\n command: CommandTypes.MapCode;\n arguments: MapCodeRequestArgs;\n }\n export interface MapCodeResponse extends Response {\n body: readonly FileCodeEdits[];\n }\n /**\n * Synchronous request for semantic diagnostics of one file.\n */\n export interface SemanticDiagnosticsSyncRequest extends FileRequest {\n command: CommandTypes.SemanticDiagnosticsSync;\n arguments: SemanticDiagnosticsSyncRequestArgs;\n }\n export interface SemanticDiagnosticsSyncRequestArgs extends FileRequestArgs {\n includeLinePosition?: boolean;\n }\n /**\n * Response object for synchronous sematic diagnostics request.\n */\n export interface SemanticDiagnosticsSyncResponse extends Response {\n body?: Diagnostic[] | DiagnosticWithLinePosition[];\n }\n export interface SuggestionDiagnosticsSyncRequest extends FileRequest {\n command: CommandTypes.SuggestionDiagnosticsSync;\n arguments: SuggestionDiagnosticsSyncRequestArgs;\n }\n export type SuggestionDiagnosticsSyncRequestArgs = SemanticDiagnosticsSyncRequestArgs;\n export type SuggestionDiagnosticsSyncResponse = SemanticDiagnosticsSyncResponse;\n /**\n * Synchronous request for syntactic diagnostics of one file.\n */\n export interface SyntacticDiagnosticsSyncRequest extends FileRequest {\n command: CommandTypes.SyntacticDiagnosticsSync;\n arguments: SyntacticDiagnosticsSyncRequestArgs;\n }\n export interface SyntacticDiagnosticsSyncRequestArgs extends FileRequestArgs {\n includeLinePosition?: boolean;\n }\n /**\n * Response object for synchronous syntactic diagnostics request.\n */\n export interface SyntacticDiagnosticsSyncResponse extends Response {\n body?: Diagnostic[] | DiagnosticWithLinePosition[];\n }\n /**\n * Arguments for GeterrForProject request.\n */\n export interface GeterrForProjectRequestArgs {\n /**\n * the file requesting project error list\n */\n file: string;\n /**\n * Delay in milliseconds to wait before starting to compute\n * errors for the files in the file list\n */\n delay: number;\n }\n /**\n * GeterrForProjectRequest request; value of command field is\n * \"geterrForProject\". It works similarly with 'Geterr', only\n * it request for every file in this project.\n */\n export interface GeterrForProjectRequest extends Request {\n command: CommandTypes.GeterrForProject;\n arguments: GeterrForProjectRequestArgs;\n }\n /**\n * Arguments for geterr messages.\n */\n export interface GeterrRequestArgs {\n /**\n * List of file names for which to compute compiler errors.\n * The files will be checked in list order.\n */\n files: (string | FileRangesRequestArgs)[];\n /**\n * Delay in milliseconds to wait before starting to compute\n * errors for the files in the file list\n */\n delay: number;\n }\n /**\n * Geterr request; value of command field is \"geterr\". Wait for\n * delay milliseconds and then, if during the wait no change or\n * reload messages have arrived for the first file in the files\n * list, get the syntactic errors for the file, field requests,\n * and then get the semantic errors for the file. Repeat with a\n * smaller delay for each subsequent file on the files list. Best\n * practice for an editor is to send a file list containing each\n * file that is currently visible, in most-recently-used order.\n */\n export interface GeterrRequest extends Request {\n command: CommandTypes.Geterr;\n arguments: GeterrRequestArgs;\n }\n export interface FileRange {\n /**\n * The line number for the request (1-based).\n */\n startLine: number;\n /**\n * The character offset (on the line) for the request (1-based).\n */\n startOffset: number;\n /**\n * The line number for the request (1-based).\n */\n endLine: number;\n /**\n * The character offset (on the line) for the request (1-based).\n */\n endOffset: number;\n }\n export interface FileRangesRequestArgs extends Pick<FileRequestArgs, \"file\"> {\n ranges: FileRange[];\n }\n export type RequestCompletedEventName = \"requestCompleted\";\n /**\n * Event that is sent when server have finished processing request with specified id.\n */\n export interface RequestCompletedEvent extends Event {\n event: RequestCompletedEventName;\n body: RequestCompletedEventBody;\n }\n export interface RequestCompletedEventBody {\n request_seq: number;\n performanceData?: PerformanceData;\n }\n /**\n * Item of diagnostic information found in a DiagnosticEvent message.\n */\n export interface Diagnostic {\n /**\n * Starting file location at which text applies.\n */\n start: Location;\n /**\n * The last file location at which the text applies.\n */\n end: Location;\n /**\n * Text of diagnostic message.\n */\n text: string;\n /**\n * The category of the diagnostic message, e.g. \"error\", \"warning\", or \"suggestion\".\n */\n category: string;\n reportsUnnecessary?: {};\n reportsDeprecated?: {};\n /**\n * Any related spans the diagnostic may have, such as other locations relevant to an error, such as declarartion sites\n */\n relatedInformation?: DiagnosticRelatedInformation[];\n /**\n * The error code of the diagnostic message.\n */\n code?: number;\n /**\n * The name of the plugin reporting the message.\n */\n source?: string;\n }\n export interface DiagnosticWithFileName extends Diagnostic {\n /**\n * Name of the file the diagnostic is in\n */\n fileName: string;\n }\n /**\n * Represents additional spans returned with a diagnostic which are relevant to it\n */\n export interface DiagnosticRelatedInformation {\n /**\n * The category of the related information message, e.g. \"error\", \"warning\", or \"suggestion\".\n */\n category: string;\n /**\n * The code used ot identify the related information\n */\n code: number;\n /**\n * Text of related or additional information.\n */\n message: string;\n /**\n * Associated location\n */\n span?: FileSpan;\n }\n export interface DiagnosticEventBody {\n /**\n * The file for which diagnostic information is reported.\n */\n file: string;\n /**\n * An array of diagnostic information items.\n */\n diagnostics: Diagnostic[];\n /**\n * Spans where the region diagnostic was requested, if this is a region semantic diagnostic event.\n */\n spans?: TextSpan[];\n }\n export type DiagnosticEventKind = \"semanticDiag\" | \"syntaxDiag\" | \"suggestionDiag\" | \"regionSemanticDiag\";\n /**\n * Event message for DiagnosticEventKind event types.\n * These events provide syntactic and semantic errors for a file.\n */\n export interface DiagnosticEvent extends Event {\n body?: DiagnosticEventBody;\n event: DiagnosticEventKind;\n }\n export interface ConfigFileDiagnosticEventBody {\n /**\n * The file which trigged the searching and error-checking of the config file\n */\n triggerFile: string;\n /**\n * The name of the found config file.\n */\n configFile: string;\n /**\n * An arry of diagnostic information items for the found config file.\n */\n diagnostics: DiagnosticWithFileName[];\n }\n /**\n * Event message for \"configFileDiag\" event type.\n * This event provides errors for a found config file.\n */\n export interface ConfigFileDiagnosticEvent extends Event {\n body?: ConfigFileDiagnosticEventBody;\n event: \"configFileDiag\";\n }\n export type ProjectLanguageServiceStateEventName = \"projectLanguageServiceState\";\n export interface ProjectLanguageServiceStateEvent extends Event {\n event: ProjectLanguageServiceStateEventName;\n body?: ProjectLanguageServiceStateEventBody;\n }\n export interface ProjectLanguageServiceStateEventBody {\n /**\n * Project name that has changes in the state of language service.\n * For configured projects this will be the config file path.\n * For external projects this will be the name of the projects specified when project was open.\n * For inferred projects this event is not raised.\n */\n projectName: string;\n /**\n * True if language service state switched from disabled to enabled\n * and false otherwise.\n */\n languageServiceEnabled: boolean;\n }\n export type ProjectsUpdatedInBackgroundEventName = \"projectsUpdatedInBackground\";\n export interface ProjectsUpdatedInBackgroundEvent extends Event {\n event: ProjectsUpdatedInBackgroundEventName;\n body: ProjectsUpdatedInBackgroundEventBody;\n }\n export interface ProjectsUpdatedInBackgroundEventBody {\n /**\n * Current set of open files\n */\n openFiles: string[];\n }\n export type ProjectLoadingStartEventName = \"projectLoadingStart\";\n export interface ProjectLoadingStartEvent extends Event {\n event: ProjectLoadingStartEventName;\n body: ProjectLoadingStartEventBody;\n }\n export interface ProjectLoadingStartEventBody {\n /** name of the project */\n projectName: string;\n /** reason for loading */\n reason: string;\n }\n export type ProjectLoadingFinishEventName = \"projectLoadingFinish\";\n export interface ProjectLoadingFinishEvent extends Event {\n event: ProjectLoadingFinishEventName;\n body: ProjectLoadingFinishEventBody;\n }\n export interface ProjectLoadingFinishEventBody {\n /** name of the project */\n projectName: string;\n }\n export type SurveyReadyEventName = \"surveyReady\";\n export interface SurveyReadyEvent extends Event {\n event: SurveyReadyEventName;\n body: SurveyReadyEventBody;\n }\n export interface SurveyReadyEventBody {\n /** Name of the survey. This is an internal machine- and programmer-friendly name */\n surveyId: string;\n }\n export type LargeFileReferencedEventName = \"largeFileReferenced\";\n export interface LargeFileReferencedEvent extends Event {\n event: LargeFileReferencedEventName;\n body: LargeFileReferencedEventBody;\n }\n export interface LargeFileReferencedEventBody {\n /**\n * name of the large file being loaded\n */\n file: string;\n /**\n * size of the file\n */\n fileSize: number;\n /**\n * max file size allowed on the server\n */\n maxFileSize: number;\n }\n export type CreateFileWatcherEventName = \"createFileWatcher\";\n export interface CreateFileWatcherEvent extends Event {\n readonly event: CreateFileWatcherEventName;\n readonly body: CreateFileWatcherEventBody;\n }\n export interface CreateFileWatcherEventBody {\n readonly id: number;\n readonly path: string;\n }\n export type CreateDirectoryWatcherEventName = \"createDirectoryWatcher\";\n export interface CreateDirectoryWatcherEvent extends Event {\n readonly event: CreateDirectoryWatcherEventName;\n readonly body: CreateDirectoryWatcherEventBody;\n }\n export interface CreateDirectoryWatcherEventBody {\n readonly id: number;\n readonly path: string;\n readonly recursive: boolean;\n readonly ignoreUpdate?: boolean;\n }\n export type CloseFileWatcherEventName = \"closeFileWatcher\";\n export interface CloseFileWatcherEvent extends Event {\n readonly event: CloseFileWatcherEventName;\n readonly body: CloseFileWatcherEventBody;\n }\n export interface CloseFileWatcherEventBody {\n readonly id: number;\n }\n /**\n * Arguments for reload request.\n */\n export interface ReloadRequestArgs extends FileRequestArgs {\n /**\n * Name of temporary file from which to reload file\n * contents. May be same as file.\n */\n tmpfile: string;\n }\n /**\n * Reload request message; value of command field is \"reload\".\n * Reload contents of file with name given by the 'file' argument\n * from temporary file with name given by the 'tmpfile' argument.\n * The two names can be identical.\n */\n export interface ReloadRequest extends FileRequest {\n command: CommandTypes.Reload;\n arguments: ReloadRequestArgs;\n }\n /**\n * Response to \"reload\" request. This is just an acknowledgement, so\n * no body field is required.\n */\n export interface ReloadResponse extends Response {\n }\n /**\n * Arguments for saveto request.\n */\n export interface SavetoRequestArgs extends FileRequestArgs {\n /**\n * Name of temporary file into which to save server's view of\n * file contents.\n */\n tmpfile: string;\n }\n /**\n * Saveto request message; value of command field is \"saveto\".\n * For debugging purposes, save to a temporaryfile (named by\n * argument 'tmpfile') the contents of file named by argument\n * 'file'. The server does not currently send a response to a\n * \"saveto\" request.\n */\n export interface SavetoRequest extends FileRequest {\n command: CommandTypes.Saveto;\n arguments: SavetoRequestArgs;\n }\n /**\n * Arguments for navto request message.\n */\n export interface NavtoRequestArgs {\n /**\n * Search term to navigate to from current location; term can\n * be '.*' or an identifier prefix.\n */\n searchValue: string;\n /**\n * Optional limit on the number of items to return.\n */\n maxResultCount?: number;\n /**\n * The file for the request (absolute pathname required).\n */\n file?: string;\n /**\n * Optional flag to indicate we want results for just the current file\n * or the entire project.\n */\n currentFileOnly?: boolean;\n projectFileName?: string;\n }\n /**\n * Navto request message; value of command field is \"navto\".\n * Return list of objects giving file locations and symbols that\n * match the search term given in argument 'searchTerm'. The\n * context for the search is given by the named file.\n */\n export interface NavtoRequest extends Request {\n command: CommandTypes.Navto;\n arguments: NavtoRequestArgs;\n }\n /**\n * An item found in a navto response.\n */\n export interface NavtoItem extends FileSpan {\n /**\n * The symbol's name.\n */\n name: string;\n /**\n * The symbol's kind (such as 'className' or 'parameterName').\n */\n kind: ScriptElementKind;\n /**\n * exact, substring, or prefix.\n */\n matchKind: string;\n /**\n * If this was a case sensitive or insensitive match.\n */\n isCaseSensitive: boolean;\n /**\n * Optional modifiers for the kind (such as 'public').\n */\n kindModifiers?: string;\n /**\n * Name of symbol's container symbol (if any); for example,\n * the class name if symbol is a class member.\n */\n containerName?: string;\n /**\n * Kind of symbol's container symbol (if any).\n */\n containerKind?: ScriptElementKind;\n }\n /**\n * Navto response message. Body is an array of navto items. Each\n * item gives a symbol that matched the search term.\n */\n export interface NavtoResponse extends Response {\n body?: NavtoItem[];\n }\n /**\n * Arguments for change request message.\n */\n export interface ChangeRequestArgs extends FormatRequestArgs {\n /**\n * Optional string to insert at location (file, line, offset).\n */\n insertString?: string;\n }\n /**\n * Change request message; value of command field is \"change\".\n * Update the server's view of the file named by argument 'file'.\n * Server does not currently send a response to a change request.\n */\n export interface ChangeRequest extends FileLocationRequest {\n command: CommandTypes.Change;\n arguments: ChangeRequestArgs;\n }\n /**\n * Response to \"brace\" request.\n */\n export interface BraceResponse extends Response {\n body?: TextSpan[];\n }\n /**\n * Brace matching request; value of command field is \"brace\".\n * Return response giving the file locations of matching braces\n * found in file at location line, offset.\n */\n export interface BraceRequest extends FileLocationRequest {\n command: CommandTypes.Brace;\n }\n /**\n * NavBar items request; value of command field is \"navbar\".\n * Return response giving the list of navigation bar entries\n * extracted from the requested file.\n */\n export interface NavBarRequest extends FileRequest {\n command: CommandTypes.NavBar;\n }\n /**\n * NavTree request; value of command field is \"navtree\".\n * Return response giving the navigation tree of the requested file.\n */\n export interface NavTreeRequest extends FileRequest {\n command: CommandTypes.NavTree;\n }\n export interface NavigationBarItem {\n /**\n * The item's display text.\n */\n text: string;\n /**\n * The symbol's kind (such as 'className' or 'parameterName').\n */\n kind: ScriptElementKind;\n /**\n * Optional modifiers for the kind (such as 'public').\n */\n kindModifiers?: string;\n /**\n * The definition locations of the item.\n */\n spans: TextSpan[];\n /**\n * Optional children.\n */\n childItems?: NavigationBarItem[];\n /**\n * Number of levels deep this item should appear.\n */\n indent: number;\n }\n /** protocol.NavigationTree is identical to ts.NavigationTree, except using protocol.TextSpan instead of ts.TextSpan */\n export interface NavigationTree {\n text: string;\n kind: ScriptElementKind;\n kindModifiers: string;\n spans: TextSpan[];\n nameSpan: TextSpan | undefined;\n childItems?: NavigationTree[];\n }\n export type TelemetryEventName = \"telemetry\";\n export interface TelemetryEvent extends Event {\n event: TelemetryEventName;\n body: TelemetryEventBody;\n }\n export interface TelemetryEventBody {\n telemetryEventName: string;\n payload: any;\n }\n export type TypesInstallerInitializationFailedEventName = \"typesInstallerInitializationFailed\";\n export interface TypesInstallerInitializationFailedEvent extends Event {\n event: TypesInstallerInitializationFailedEventName;\n body: TypesInstallerInitializationFailedEventBody;\n }\n export interface TypesInstallerInitializationFailedEventBody {\n message: string;\n }\n export type TypingsInstalledTelemetryEventName = \"typingsInstalled\";\n export interface TypingsInstalledTelemetryEventBody extends TelemetryEventBody {\n telemetryEventName: TypingsInstalledTelemetryEventName;\n payload: TypingsInstalledTelemetryEventPayload;\n }\n export interface TypingsInstalledTelemetryEventPayload {\n /**\n * Comma separated list of installed typing packages\n */\n installedPackages: string;\n /**\n * true if install request succeeded, otherwise - false\n */\n installSuccess: boolean;\n /**\n * version of typings installer\n */\n typingsInstallerVersion: string;\n }\n export type BeginInstallTypesEventName = \"beginInstallTypes\";\n export type EndInstallTypesEventName = \"endInstallTypes\";\n export interface BeginInstallTypesEvent extends Event {\n event: BeginInstallTypesEventName;\n body: BeginInstallTypesEventBody;\n }\n export interface EndInstallTypesEvent extends Event {\n event: EndInstallTypesEventName;\n body: EndInstallTypesEventBody;\n }\n export interface InstallTypesEventBody {\n /**\n * correlation id to match begin and end events\n */\n eventId: number;\n /**\n * list of packages to install\n */\n packages: readonly string[];\n }\n export interface BeginInstallTypesEventBody extends InstallTypesEventBody {\n }\n export interface EndInstallTypesEventBody extends InstallTypesEventBody {\n /**\n * true if installation succeeded, otherwise false\n */\n success: boolean;\n }\n export interface NavBarResponse extends Response {\n body?: NavigationBarItem[];\n }\n export interface NavTreeResponse extends Response {\n body?: NavigationTree;\n }\n export type CallHierarchyItem = ChangePropertyTypes<ts.CallHierarchyItem, {\n span: TextSpan;\n selectionSpan: TextSpan;\n }>;\n export interface CallHierarchyIncomingCall {\n from: CallHierarchyItem;\n fromSpans: TextSpan[];\n }\n export interface CallHierarchyOutgoingCall {\n to: CallHierarchyItem;\n fromSpans: TextSpan[];\n }\n export interface PrepareCallHierarchyRequest extends FileLocationRequest {\n command: CommandTypes.PrepareCallHierarchy;\n }\n export interface PrepareCallHierarchyResponse extends Response {\n readonly body: CallHierarchyItem | CallHierarchyItem[];\n }\n export interface ProvideCallHierarchyIncomingCallsRequest extends FileLocationRequest {\n command: CommandTypes.ProvideCallHierarchyIncomingCalls;\n }\n export interface ProvideCallHierarchyIncomingCallsResponse extends Response {\n readonly body: CallHierarchyIncomingCall[];\n }\n export interface ProvideCallHierarchyOutgoingCallsRequest extends FileLocationRequest {\n command: CommandTypes.ProvideCallHierarchyOutgoingCalls;\n }\n export interface ProvideCallHierarchyOutgoingCallsResponse extends Response {\n readonly body: CallHierarchyOutgoingCall[];\n }\n export enum IndentStyle {\n None = \"None\",\n Block = \"Block\",\n Smart = \"Smart\",\n }\n export type EditorSettings = ChangePropertyTypes<ts.EditorSettings, {\n indentStyle: IndentStyle | ts.IndentStyle;\n }>;\n export type FormatCodeSettings = ChangePropertyTypes<ts.FormatCodeSettings, {\n indentStyle: IndentStyle | ts.IndentStyle;\n }>;\n export type CompilerOptions = ChangePropertyTypes<ChangeStringIndexSignature<ts.CompilerOptions, CompilerOptionsValue>, {\n jsx: JsxEmit | ts.JsxEmit;\n module: ModuleKind | ts.ModuleKind;\n moduleResolution: ModuleResolutionKind | ts.ModuleResolutionKind;\n newLine: NewLineKind | ts.NewLineKind;\n target: ScriptTarget | ts.ScriptTarget;\n }>;\n export enum JsxEmit {\n None = \"none\",\n Preserve = \"preserve\",\n ReactNative = \"react-native\",\n React = \"react\",\n ReactJSX = \"react-jsx\",\n ReactJSXDev = \"react-jsxdev\",\n }\n export enum ModuleKind {\n None = \"none\",\n CommonJS = \"commonjs\",\n AMD = \"amd\",\n UMD = \"umd\",\n System = \"system\",\n ES6 = \"es6\",\n ES2015 = \"es2015\",\n ES2020 = \"es2020\",\n ES2022 = \"es2022\",\n ESNext = \"esnext\",\n Node16 = \"node16\",\n Node18 = \"node18\",\n NodeNext = \"nodenext\",\n Preserve = \"preserve\",\n }\n export enum ModuleResolutionKind {\n Classic = \"classic\",\n /** @deprecated Renamed to `Node10` */\n Node = \"node\",\n /** @deprecated Renamed to `Node10` */\n NodeJs = \"node\",\n Node10 = \"node10\",\n Node16 = \"node16\",\n NodeNext = \"nodenext\",\n Bundler = \"bundler\",\n }\n export enum NewLineKind {\n Crlf = \"Crlf\",\n Lf = \"Lf\",\n }\n export enum ScriptTarget {\n /** @deprecated */\n ES3 = \"es3\",\n ES5 = \"es5\",\n ES6 = \"es6\",\n ES2015 = \"es2015\",\n ES2016 = \"es2016\",\n ES2017 = \"es2017\",\n ES2018 = \"es2018\",\n ES2019 = \"es2019\",\n ES2020 = \"es2020\",\n ES2021 = \"es2021\",\n ES2022 = \"es2022\",\n ES2023 = \"es2023\",\n ES2024 = \"es2024\",\n ESNext = \"esnext\",\n JSON = \"json\",\n Latest = \"esnext\",\n }\n }\n namespace typingsInstaller {\n interface Log {\n isEnabled(): boolean;\n writeLine(text: string): void;\n }\n type RequestCompletedAction = (success: boolean) => void;\n interface PendingRequest {\n requestId: number;\n packageNames: string[];\n cwd: string;\n onRequestCompleted: RequestCompletedAction;\n }\n abstract class TypingsInstaller {\n protected readonly installTypingHost: InstallTypingHost;\n private readonly globalCachePath;\n private readonly safeListPath;\n private readonly typesMapLocation;\n private readonly throttleLimit;\n protected readonly log: Log;\n private readonly packageNameToTypingLocation;\n private readonly missingTypingsSet;\n private readonly knownCachesSet;\n private readonly projectWatchers;\n private safeList;\n private pendingRunRequests;\n private installRunCount;\n private inFlightRequestCount;\n abstract readonly typesRegistry: Map<string, MapLike<string>>;\n constructor(installTypingHost: InstallTypingHost, globalCachePath: string, safeListPath: Path, typesMapLocation: Path, throttleLimit: number, log?: Log);\n closeProject(req: CloseProject): void;\n private closeWatchers;\n install(req: DiscoverTypings): void;\n private initializeSafeList;\n private processCacheLocation;\n private filterTypings;\n protected ensurePackageDirectoryExists(directory: string): void;\n private installTypings;\n private ensureDirectoryExists;\n private watchFiles;\n private createSetTypings;\n private installTypingsAsync;\n private executeWithThrottling;\n protected abstract installWorker(requestId: number, packageNames: string[], cwd: string, onRequestCompleted: RequestCompletedAction): void;\n protected abstract sendResponse(response: SetTypings | InvalidateCachedTypings | BeginInstallTypes | EndInstallTypes | WatchTypingLocations): void;\n protected readonly latestDistTag = \"latest\";\n }\n }\n type ActionSet = \"action::set\";\n type ActionInvalidate = \"action::invalidate\";\n type ActionPackageInstalled = \"action::packageInstalled\";\n type EventTypesRegistry = \"event::typesRegistry\";\n type EventBeginInstallTypes = \"event::beginInstallTypes\";\n type EventEndInstallTypes = \"event::endInstallTypes\";\n type EventInitializationFailed = \"event::initializationFailed\";\n type ActionWatchTypingLocations = \"action::watchTypingLocations\";\n interface TypingInstallerResponse {\n readonly kind: ActionSet | ActionInvalidate | EventTypesRegistry | ActionPackageInstalled | EventBeginInstallTypes | EventEndInstallTypes | EventInitializationFailed | ActionWatchTypingLocations;\n }\n interface TypingInstallerRequestWithProjectName {\n readonly projectName: string;\n }\n interface DiscoverTypings extends TypingInstallerRequestWithProjectName {\n readonly fileNames: string[];\n readonly projectRootPath: Path;\n readonly compilerOptions: CompilerOptions;\n readonly typeAcquisition: TypeAcquisition;\n readonly unresolvedImports: SortedReadonlyArray<string>;\n readonly cachePath?: string;\n readonly kind: \"discover\";\n }\n interface CloseProject extends TypingInstallerRequestWithProjectName {\n readonly kind: \"closeProject\";\n }\n interface TypesRegistryRequest {\n readonly kind: \"typesRegistry\";\n }\n interface InstallPackageRequest extends TypingInstallerRequestWithProjectName {\n readonly kind: \"installPackage\";\n readonly fileName: Path;\n readonly packageName: string;\n readonly projectRootPath: Path;\n readonly id: number;\n }\n interface PackageInstalledResponse extends ProjectResponse {\n readonly kind: ActionPackageInstalled;\n readonly id: number;\n readonly success: boolean;\n readonly message: string;\n }\n interface InitializationFailedResponse extends TypingInstallerResponse {\n readonly kind: EventInitializationFailed;\n readonly message: string;\n readonly stack?: string;\n }\n interface ProjectResponse extends TypingInstallerResponse {\n readonly projectName: string;\n }\n interface InvalidateCachedTypings extends ProjectResponse {\n readonly kind: ActionInvalidate;\n }\n interface InstallTypes extends ProjectResponse {\n readonly kind: EventBeginInstallTypes | EventEndInstallTypes;\n readonly eventId: number;\n readonly typingsInstallerVersion: string;\n readonly packagesToInstall: readonly string[];\n }\n interface BeginInstallTypes extends InstallTypes {\n readonly kind: EventBeginInstallTypes;\n }\n interface EndInstallTypes extends InstallTypes {\n readonly kind: EventEndInstallTypes;\n readonly installSuccess: boolean;\n }\n interface InstallTypingHost extends JsTyping.TypingResolutionHost {\n useCaseSensitiveFileNames: boolean;\n writeFile(path: string, content: string): void;\n createDirectory(path: string): void;\n getCurrentDirectory?(): string;\n }\n interface SetTypings extends ProjectResponse {\n readonly typeAcquisition: TypeAcquisition;\n readonly compilerOptions: CompilerOptions;\n readonly typings: string[];\n readonly unresolvedImports: SortedReadonlyArray<string>;\n readonly kind: ActionSet;\n }\n interface WatchTypingLocations extends ProjectResponse {\n /** if files is undefined, retain same set of watchers */\n readonly files: readonly string[] | undefined;\n readonly kind: ActionWatchTypingLocations;\n }\n interface CompressedData {\n length: number;\n compressionKind: string;\n data: any;\n }\n type ModuleImportResult = {\n module: {};\n error: undefined;\n } | {\n module: undefined;\n error: {\n stack?: string;\n message?: string;\n };\n };\n /** @deprecated Use {@link ModuleImportResult} instead. */\n type RequireResult = ModuleImportResult;\n interface ServerHost extends System {\n watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number, options?: WatchOptions): FileWatcher;\n watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean, options?: WatchOptions): FileWatcher;\n preferNonRecursiveWatch?: boolean;\n setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): any;\n clearTimeout(timeoutId: any): void;\n setImmediate(callback: (...args: any[]) => void, ...args: any[]): any;\n clearImmediate(timeoutId: any): void;\n gc?(): void;\n trace?(s: string): void;\n require?(initialPath: string, moduleName: string): ModuleImportResult;\n }\n interface InstallPackageOptionsWithProject extends InstallPackageOptions {\n projectName: string;\n projectRootPath: Path;\n }\n interface ITypingsInstaller {\n isKnownTypesPackageName(name: string): boolean;\n installPackage(options: InstallPackageOptionsWithProject): Promise<ApplyCodeActionCommandResult>;\n enqueueInstallTypingsRequest(p: Project, typeAcquisition: TypeAcquisition, unresolvedImports: SortedReadonlyArray<string> | undefined): void;\n attach(projectService: ProjectService): void;\n onProjectClosed(p: Project): void;\n readonly globalTypingsCacheLocation: string | undefined;\n }\n function createInstallTypingsRequest(project: Project, typeAcquisition: TypeAcquisition, unresolvedImports: SortedReadonlyArray<string>, cachePath?: string): DiscoverTypings;\n function toNormalizedPath(fileName: string): NormalizedPath;\n function normalizedPathToPath(normalizedPath: NormalizedPath, currentDirectory: string, getCanonicalFileName: (f: string) => string): Path;\n function asNormalizedPath(fileName: string): NormalizedPath;\n function createNormalizedPathMap<T>(): NormalizedPathMap<T>;\n function isInferredProjectName(name: string): boolean;\n function makeInferredProjectName(counter: number): string;\n function createSortedArray<T>(): SortedArray<T>;\n enum LogLevel {\n terse = 0,\n normal = 1,\n requestTime = 2,\n verbose = 3,\n }\n const emptyArray: SortedReadonlyArray<never>;\n interface Logger {\n close(): void;\n hasLevel(level: LogLevel): boolean;\n loggingEnabled(): boolean;\n perftrc(s: string): void;\n info(s: string): void;\n startGroup(): void;\n endGroup(): void;\n msg(s: string, type?: Msg): void;\n getLogFileName(): string | undefined;\n }\n enum Msg {\n Err = \"Err\",\n Info = \"Info\",\n Perf = \"Perf\",\n }\n namespace Errors {\n function ThrowNoProject(): never;\n function ThrowProjectLanguageServiceDisabled(): never;\n function ThrowProjectDoesNotContainDocument(fileName: string, project: Project): never;\n }\n type NormalizedPath = string & {\n __normalizedPathTag: any;\n };\n interface NormalizedPathMap<T> {\n get(path: NormalizedPath): T | undefined;\n set(path: NormalizedPath, value: T): void;\n contains(path: NormalizedPath): boolean;\n remove(path: NormalizedPath): void;\n }\n function isDynamicFileName(fileName: NormalizedPath): boolean;\n class ScriptInfo {\n private readonly host;\n readonly fileName: NormalizedPath;\n readonly scriptKind: ScriptKind;\n readonly hasMixedContent: boolean;\n readonly path: Path;\n /**\n * All projects that include this file\n */\n readonly containingProjects: Project[];\n private formatSettings;\n private preferences;\n private realpath;\n constructor(host: ServerHost, fileName: NormalizedPath, scriptKind: ScriptKind, hasMixedContent: boolean, path: Path, initialVersion?: number);\n isScriptOpen(): boolean;\n open(newText: string | undefined): void;\n close(fileExists?: boolean): void;\n getSnapshot(): IScriptSnapshot;\n private ensureRealPath;\n getFormatCodeSettings(): FormatCodeSettings | undefined;\n getPreferences(): protocol.UserPreferences | undefined;\n attachToProject(project: Project): boolean;\n isAttached(project: Project): boolean;\n detachFromProject(project: Project): void;\n detachAllProjects(): void;\n getDefaultProject(): Project;\n registerFileUpdate(): void;\n setOptions(formatSettings: FormatCodeSettings, preferences: protocol.UserPreferences | undefined): void;\n getLatestVersion(): string;\n saveTo(fileName: string): void;\n reloadFromFile(tempFileName?: NormalizedPath): boolean;\n editContent(start: number, end: number, newText: string): void;\n markContainingProjectsAsDirty(): void;\n isOrphan(): boolean;\n /**\n * @param line 1 based index\n */\n lineToTextSpan(line: number): TextSpan;\n /**\n * @param line 1 based index\n * @param offset 1 based index\n */\n lineOffsetToPosition(line: number, offset: number): number;\n positionToLineOffset(position: number): protocol.Location;\n isJavaScript(): boolean;\n }\n function allRootFilesAreJsOrDts(project: Project): boolean;\n function allFilesAreJsOrDts(project: Project): boolean;\n enum ProjectKind {\n Inferred = 0,\n Configured = 1,\n External = 2,\n AutoImportProvider = 3,\n Auxiliary = 4,\n }\n interface PluginCreateInfo {\n project: Project;\n languageService: LanguageService;\n languageServiceHost: LanguageServiceHost;\n serverHost: ServerHost;\n session?: Session<unknown>;\n config: any;\n }\n interface PluginModule {\n create(createInfo: PluginCreateInfo): LanguageService;\n getExternalFiles?(proj: Project, updateLevel: ProgramUpdateLevel): string[];\n onConfigurationChanged?(config: any): void;\n }\n interface PluginModuleWithName {\n name: string;\n module: PluginModule;\n }\n type PluginModuleFactory = (mod: {\n typescript: typeof ts;\n }) => PluginModule;\n abstract class Project implements LanguageServiceHost, ModuleResolutionHost {\n readonly projectKind: ProjectKind;\n readonly projectService: ProjectService;\n private compilerOptions;\n compileOnSaveEnabled: boolean;\n protected watchOptions: WatchOptions | undefined;\n private rootFilesMap;\n private program;\n private externalFiles;\n private missingFilesMap;\n private generatedFilesMap;\n private hasAddedorRemovedFiles;\n private hasAddedOrRemovedSymlinks;\n protected languageService: LanguageService;\n languageServiceEnabled: boolean;\n readonly trace?: (s: string) => void;\n readonly realpath?: (path: string) => string;\n private builderState;\n private updatedFileNames;\n private lastReportedFileNames;\n private lastReportedVersion;\n protected projectErrors: Diagnostic[] | undefined;\n private typingsCache;\n private typingWatchers;\n private readonly cancellationToken;\n isNonTsProject(): boolean;\n isJsOnlyProject(): boolean;\n static resolveModule(moduleName: string, initialDir: string, host: ServerHost, log: (message: string) => void): {} | undefined;\n private exportMapCache;\n private changedFilesForExportMapCache;\n private moduleSpecifierCache;\n private symlinks;\n readonly jsDocParsingMode: JSDocParsingMode | undefined;\n isKnownTypesPackageName(name: string): boolean;\n installPackage(options: InstallPackageOptions): Promise<ApplyCodeActionCommandResult>;\n getCompilationSettings(): CompilerOptions;\n getCompilerOptions(): CompilerOptions;\n getNewLine(): string;\n getProjectVersion(): string;\n getProjectReferences(): readonly ProjectReference[] | undefined;\n getScriptFileNames(): string[];\n private getOrCreateScriptInfoAndAttachToProject;\n getScriptKind(fileName: string): ScriptKind;\n getScriptVersion(filename: string): string;\n getScriptSnapshot(filename: string): IScriptSnapshot | undefined;\n getCancellationToken(): HostCancellationToken;\n getCurrentDirectory(): string;\n getDefaultLibFileName(): string;\n useCaseSensitiveFileNames(): boolean;\n readDirectory(path: string, extensions?: readonly string[], exclude?: readonly string[], include?: readonly string[], depth?: number): string[];\n readFile(fileName: string): string | undefined;\n writeFile(fileName: string, content: string): void;\n fileExists(file: string): boolean;\n directoryExists(path: string): boolean;\n getDirectories(path: string): string[];\n log(s: string): void;\n error(s: string): void;\n private setInternalCompilerOptionsForEmittingJsFiles;\n /**\n * Get the errors that dont have any file name associated\n */\n getGlobalProjectErrors(): readonly Diagnostic[];\n /**\n * Get all the project errors\n */\n getAllProjectErrors(): readonly Diagnostic[];\n setProjectErrors(projectErrors: Diagnostic[] | undefined): void;\n getLanguageService(ensureSynchronized?: boolean): LanguageService;\n getCompileOnSaveAffectedFileList(scriptInfo: ScriptInfo): string[];\n /**\n * Returns true if emit was conducted\n */\n emitFile(scriptInfo: ScriptInfo, writeFile: (path: string, data: string, writeByteOrderMark?: boolean) => void): EmitResult;\n enableLanguageService(): void;\n disableLanguageService(lastFileExceededProgramSize?: string): void;\n getProjectName(): string;\n protected removeLocalTypingsFromTypeAcquisition(newTypeAcquisition: TypeAcquisition): TypeAcquisition;\n getExternalFiles(updateLevel?: ProgramUpdateLevel): SortedReadonlyArray<string>;\n getSourceFile(path: Path): SourceFile | undefined;\n close(): void;\n private detachScriptInfoIfNotRoot;\n isClosed(): boolean;\n hasRoots(): boolean;\n getRootFiles(): NormalizedPath[];\n getRootScriptInfos(): ScriptInfo[];\n getScriptInfos(): ScriptInfo[];\n getExcludedFiles(): readonly NormalizedPath[];\n getFileNames(excludeFilesFromExternalLibraries?: boolean, excludeConfigFiles?: boolean): NormalizedPath[];\n hasConfigFile(configFilePath: NormalizedPath): boolean;\n containsScriptInfo(info: ScriptInfo): boolean;\n containsFile(filename: NormalizedPath, requireOpen?: boolean): boolean;\n isRoot(info: ScriptInfo): boolean;\n addRoot(info: ScriptInfo, fileName?: NormalizedPath): void;\n addMissingFileRoot(fileName: NormalizedPath): void;\n removeFile(info: ScriptInfo, fileExists: boolean, detachFromProject: boolean): void;\n registerFileUpdate(fileName: string): void;\n /**\n * Updates set of files that contribute to this project\n * @returns: true if set of files in the project stays the same and false - otherwise.\n */\n updateGraph(): boolean;\n private closeWatchingTypingLocations;\n private onTypingInstallerWatchInvoke;\n protected removeExistingTypings(include: string[]): string[];\n private updateGraphWorker;\n private detachScriptInfoFromProject;\n private addMissingFileWatcher;\n private isWatchedMissingFile;\n private createGeneratedFileWatcher;\n private isValidGeneratedFileWatcher;\n private clearGeneratedFileWatch;\n getScriptInfoForNormalizedPath(fileName: NormalizedPath): ScriptInfo | undefined;\n getScriptInfo(uncheckedFileName: string): ScriptInfo | undefined;\n filesToString(writeProjectFileNames: boolean): string;\n private filesToStringWorker;\n setCompilerOptions(compilerOptions: CompilerOptions): void;\n setTypeAcquisition(newTypeAcquisition: TypeAcquisition | undefined): void;\n getTypeAcquisition(): TypeAcquisition;\n protected removeRoot(info: ScriptInfo): void;\n protected enableGlobalPlugins(options: CompilerOptions): void;\n protected enablePlugin(pluginConfigEntry: PluginImport, searchPaths: string[]): void;\n /** Starts a new check for diagnostics. Call this if some file has updated that would cause diagnostics to be changed. */\n refreshDiagnostics(): void;\n private isDefaultProjectForOpenFiles;\n }\n /**\n * If a file is opened and no tsconfig (or jsconfig) is found,\n * the file and its imports/references are put into an InferredProject.\n */\n class InferredProject extends Project {\n private _isJsInferredProject;\n toggleJsInferredProject(isJsInferredProject: boolean): void;\n setCompilerOptions(options?: CompilerOptions): void;\n /** this is canonical project root path */\n readonly projectRootPath: string | undefined;\n addRoot(info: ScriptInfo): void;\n removeRoot(info: ScriptInfo): void;\n isProjectWithSingleRoot(): boolean;\n close(): void;\n getTypeAcquisition(): TypeAcquisition;\n }\n class AutoImportProviderProject extends Project {\n private hostProject;\n private static readonly maxDependencies;\n private rootFileNames;\n updateGraph(): boolean;\n hasRoots(): boolean;\n getScriptFileNames(): string[];\n getLanguageService(): never;\n getHostForAutoImportProvider(): never;\n getProjectReferences(): readonly ProjectReference[] | undefined;\n }\n /**\n * If a file is opened, the server will look for a tsconfig (or jsconfig)\n * and if successful create a ConfiguredProject for it.\n * Otherwise it will create an InferredProject.\n */\n class ConfiguredProject extends Project {\n readonly canonicalConfigFilePath: NormalizedPath;\n private projectReferences;\n private compilerHost?;\n private releaseParsedConfig;\n /**\n * If the project has reload from disk pending, it reloads (and then updates graph as part of that) instead of just updating the graph\n * @returns: true if set of files in the project stays the same and false - otherwise.\n */\n updateGraph(): boolean;\n getConfigFilePath(): NormalizedPath;\n getProjectReferences(): readonly ProjectReference[] | undefined;\n updateReferences(refs: readonly ProjectReference[] | undefined): void;\n /**\n * Get the errors that dont have any file name associated\n */\n getGlobalProjectErrors(): readonly Diagnostic[];\n /**\n * Get all the project errors\n */\n getAllProjectErrors(): readonly Diagnostic[];\n setProjectErrors(projectErrors: Diagnostic[]): void;\n close(): void;\n getEffectiveTypeRoots(): string[];\n }\n /**\n * Project whose configuration is handled externally, such as in a '.csproj'.\n * These are created only if a host explicitly calls `openExternalProject`.\n */\n class ExternalProject extends Project {\n externalProjectName: string;\n compileOnSaveEnabled: boolean;\n excludedFiles: readonly NormalizedPath[];\n updateGraph(): boolean;\n getExcludedFiles(): readonly NormalizedPath[];\n }\n function convertFormatOptions(protocolOptions: protocol.FormatCodeSettings): FormatCodeSettings;\n function convertCompilerOptions(protocolOptions: protocol.ExternalProjectCompilerOptions): CompilerOptions & protocol.CompileOnSaveMixin;\n function convertWatchOptions(protocolOptions: protocol.ExternalProjectCompilerOptions, currentDirectory?: string): WatchOptionsAndErrors | undefined;\n function convertTypeAcquisition(protocolOptions: protocol.InferredProjectCompilerOptions): TypeAcquisition | undefined;\n function tryConvertScriptKindName(scriptKindName: protocol.ScriptKindName | ScriptKind): ScriptKind;\n function convertScriptKindName(scriptKindName: protocol.ScriptKindName): ScriptKind;\n const maxProgramSizeForNonTsFiles: number;\n const ProjectsUpdatedInBackgroundEvent = \"projectsUpdatedInBackground\";\n interface ProjectsUpdatedInBackgroundEvent {\n eventName: typeof ProjectsUpdatedInBackgroundEvent;\n data: {\n openFiles: string[];\n };\n }\n const ProjectLoadingStartEvent = \"projectLoadingStart\";\n interface ProjectLoadingStartEvent {\n eventName: typeof ProjectLoadingStartEvent;\n data: {\n project: Project;\n reason: string;\n };\n }\n const ProjectLoadingFinishEvent = \"projectLoadingFinish\";\n interface ProjectLoadingFinishEvent {\n eventName: typeof ProjectLoadingFinishEvent;\n data: {\n project: Project;\n };\n }\n const LargeFileReferencedEvent = \"largeFileReferenced\";\n interface LargeFileReferencedEvent {\n eventName: typeof LargeFileReferencedEvent;\n data: {\n file: string;\n fileSize: number;\n maxFileSize: number;\n };\n }\n const ConfigFileDiagEvent = \"configFileDiag\";\n interface ConfigFileDiagEvent {\n eventName: typeof ConfigFileDiagEvent;\n data: {\n triggerFile: string;\n configFileName: string;\n diagnostics: readonly Diagnostic[];\n };\n }\n const ProjectLanguageServiceStateEvent = \"projectLanguageServiceState\";\n interface ProjectLanguageServiceStateEvent {\n eventName: typeof ProjectLanguageServiceStateEvent;\n data: {\n project: Project;\n languageServiceEnabled: boolean;\n };\n }\n const ProjectInfoTelemetryEvent = \"projectInfo\";\n /** This will be converted to the payload of a protocol.TelemetryEvent in session.defaultEventHandler. */\n interface ProjectInfoTelemetryEvent {\n readonly eventName: typeof ProjectInfoTelemetryEvent;\n readonly data: ProjectInfoTelemetryEventData;\n }\n const OpenFileInfoTelemetryEvent = \"openFileInfo\";\n /**\n * Info that we may send about a file that was just opened.\n * Info about a file will only be sent once per session, even if the file changes in ways that might affect the info.\n * Currently this is only sent for '.js' files.\n */\n interface OpenFileInfoTelemetryEvent {\n readonly eventName: typeof OpenFileInfoTelemetryEvent;\n readonly data: OpenFileInfoTelemetryEventData;\n }\n const CreateFileWatcherEvent: protocol.CreateFileWatcherEventName;\n interface CreateFileWatcherEvent {\n readonly eventName: protocol.CreateFileWatcherEventName;\n readonly data: protocol.CreateFileWatcherEventBody;\n }\n const CreateDirectoryWatcherEvent: protocol.CreateDirectoryWatcherEventName;\n interface CreateDirectoryWatcherEvent {\n readonly eventName: protocol.CreateDirectoryWatcherEventName;\n readonly data: protocol.CreateDirectoryWatcherEventBody;\n }\n const CloseFileWatcherEvent: protocol.CloseFileWatcherEventName;\n interface CloseFileWatcherEvent {\n readonly eventName: protocol.CloseFileWatcherEventName;\n readonly data: protocol.CloseFileWatcherEventBody;\n }\n interface ProjectInfoTelemetryEventData {\n /** Cryptographically secure hash of project file location. */\n readonly projectId: string;\n /** Count of file extensions seen in the project. */\n readonly fileStats: FileStats;\n /**\n * Any compiler options that might contain paths will be taken out.\n * Enum compiler options will be converted to strings.\n */\n readonly compilerOptions: CompilerOptions;\n readonly extends: boolean | undefined;\n readonly files: boolean | undefined;\n readonly include: boolean | undefined;\n readonly exclude: boolean | undefined;\n readonly compileOnSave: boolean;\n readonly typeAcquisition: ProjectInfoTypeAcquisitionData;\n readonly configFileName: \"tsconfig.json\" | \"jsconfig.json\" | \"other\";\n readonly projectType: \"external\" | \"configured\";\n readonly languageServiceEnabled: boolean;\n /** TypeScript version used by the server. */\n readonly version: string;\n }\n interface OpenFileInfoTelemetryEventData {\n readonly info: OpenFileInfo;\n }\n interface ProjectInfoTypeAcquisitionData {\n readonly enable: boolean | undefined;\n readonly include: boolean;\n readonly exclude: boolean;\n }\n interface FileStats {\n readonly js: number;\n readonly jsSize?: number;\n readonly jsx: number;\n readonly jsxSize?: number;\n readonly ts: number;\n readonly tsSize?: number;\n readonly tsx: number;\n readonly tsxSize?: number;\n readonly dts: number;\n readonly dtsSize?: number;\n readonly deferred: number;\n readonly deferredSize?: number;\n }\n interface OpenFileInfo {\n readonly checkJs: boolean;\n }\n type ProjectServiceEvent = LargeFileReferencedEvent | ProjectsUpdatedInBackgroundEvent | ProjectLoadingStartEvent | ProjectLoadingFinishEvent | ConfigFileDiagEvent | ProjectLanguageServiceStateEvent | ProjectInfoTelemetryEvent | OpenFileInfoTelemetryEvent | CreateFileWatcherEvent | CreateDirectoryWatcherEvent | CloseFileWatcherEvent;\n type ProjectServiceEventHandler = (event: ProjectServiceEvent) => void;\n interface SafeList {\n [name: string]: {\n match: RegExp;\n exclude?: (string | number)[][];\n types?: string[];\n };\n }\n interface TypesMapFile {\n typesMap: SafeList;\n simpleMap: {\n [libName: string]: string;\n };\n }\n interface HostConfiguration {\n formatCodeOptions: FormatCodeSettings;\n preferences: protocol.UserPreferences;\n hostInfo: string;\n extraFileExtensions?: FileExtensionInfo[];\n watchOptions?: WatchOptions;\n }\n interface OpenConfiguredProjectResult {\n configFileName?: NormalizedPath;\n configFileErrors?: readonly Diagnostic[];\n }\n const nullTypingsInstaller: ITypingsInstaller;\n interface ProjectServiceOptions {\n host: ServerHost;\n logger: Logger;\n cancellationToken: HostCancellationToken;\n useSingleInferredProject: boolean;\n useInferredProjectPerProjectRoot: boolean;\n typingsInstaller?: ITypingsInstaller;\n eventHandler?: ProjectServiceEventHandler;\n canUseWatchEvents?: boolean;\n suppressDiagnosticEvents?: boolean;\n throttleWaitMilliseconds?: number;\n globalPlugins?: readonly string[];\n pluginProbeLocations?: readonly string[];\n allowLocalPluginLoads?: boolean;\n typesMapLocation?: string;\n serverMode?: LanguageServiceMode;\n session: Session<unknown> | undefined;\n jsDocParsingMode?: JSDocParsingMode;\n }\n interface WatchOptionsAndErrors {\n watchOptions: WatchOptions;\n errors: Diagnostic[] | undefined;\n }\n class ProjectService {\n private readonly nodeModulesWatchers;\n private readonly filenameToScriptInfoVersion;\n private readonly allJsFilesForOpenFileTelemetry;\n private readonly externalProjectToConfiguredProjectMap;\n /**\n * external projects (configuration and list of root files is not controlled by tsserver)\n */\n readonly externalProjects: ExternalProject[];\n /**\n * projects built from openFileRoots\n */\n readonly inferredProjects: InferredProject[];\n /**\n * projects specified by a tsconfig.json file\n */\n readonly configuredProjects: Map<string, ConfiguredProject>;\n /**\n * Open files: with value being project root path, and key being Path of the file that is open\n */\n readonly openFiles: Map<Path, NormalizedPath | undefined>;\n private readonly configFileForOpenFiles;\n private rootOfInferredProjects;\n private readonly openFilesWithNonRootedDiskPath;\n private compilerOptionsForInferredProjects;\n private compilerOptionsForInferredProjectsPerProjectRoot;\n private watchOptionsForInferredProjects;\n private watchOptionsForInferredProjectsPerProjectRoot;\n private typeAcquisitionForInferredProjects;\n private typeAcquisitionForInferredProjectsPerProjectRoot;\n private readonly projectToSizeMap;\n private readonly hostConfiguration;\n private safelist;\n private readonly legacySafelist;\n private pendingProjectUpdates;\n private pendingOpenFileProjectUpdates?;\n readonly currentDirectory: NormalizedPath;\n readonly toCanonicalFileName: (f: string) => string;\n readonly host: ServerHost;\n readonly logger: Logger;\n readonly cancellationToken: HostCancellationToken;\n readonly useSingleInferredProject: boolean;\n readonly useInferredProjectPerProjectRoot: boolean;\n readonly typingsInstaller: ITypingsInstaller;\n private readonly globalCacheLocationDirectoryPath;\n readonly throttleWaitMilliseconds?: number;\n private readonly suppressDiagnosticEvents?;\n readonly globalPlugins: readonly string[];\n readonly pluginProbeLocations: readonly string[];\n readonly allowLocalPluginLoads: boolean;\n readonly typesMapLocation: string | undefined;\n readonly serverMode: LanguageServiceMode;\n private readonly seenProjects;\n private readonly sharedExtendedConfigFileWatchers;\n private readonly extendedConfigCache;\n private packageJsonFilesMap;\n private incompleteCompletionsCache;\n private performanceEventHandler?;\n private pendingPluginEnablements?;\n private currentPluginEnablementPromise?;\n readonly jsDocParsingMode: JSDocParsingMode | undefined;\n constructor(opts: ProjectServiceOptions);\n toPath(fileName: string): Path;\n private loadTypesMap;\n updateTypingsForProject(response: SetTypings | InvalidateCachedTypings | PackageInstalledResponse): void;\n private delayUpdateProjectGraph;\n private delayUpdateProjectGraphs;\n setCompilerOptionsForInferredProjects(projectCompilerOptions: protocol.InferredProjectCompilerOptions, projectRootPath?: string): void;\n findProject(projectName: string): Project | undefined;\n getDefaultProjectForFile(fileName: NormalizedPath, ensureProject: boolean): Project | undefined;\n private tryGetDefaultProjectForEnsuringConfiguredProjectForFile;\n private doEnsureDefaultProjectForFile;\n getScriptInfoEnsuringProjectsUptoDate(uncheckedFileName: string): ScriptInfo | undefined;\n private ensureProjectStructuresUptoDate;\n getFormatCodeOptions(file: NormalizedPath): FormatCodeSettings;\n getPreferences(file: NormalizedPath): protocol.UserPreferences;\n getHostFormatCodeOptions(): FormatCodeSettings;\n getHostPreferences(): protocol.UserPreferences;\n private onSourceFileChanged;\n private handleSourceMapProjects;\n private delayUpdateSourceInfoProjects;\n private delayUpdateProjectsOfScriptInfoPath;\n private handleDeletedFile;\n private watchWildcardDirectory;\n private onWildCardDirectoryWatcherInvoke;\n private delayUpdateProjectsFromParsedConfigOnConfigFileChange;\n private onConfigFileChanged;\n private removeProject;\n private assignOrphanScriptInfosToInferredProject;\n private closeOpenFile;\n private deleteScriptInfo;\n private configFileExists;\n private createConfigFileWatcherForParsedConfig;\n private ensureConfigFileWatcherForProject;\n private forEachConfigFileLocation;\n private getConfigFileNameForFileFromCache;\n private setConfigFileNameForFileInCache;\n private printProjects;\n private getConfiguredProjectByCanonicalConfigFilePath;\n private findExternalProjectByProjectName;\n private getFilenameForExceededTotalSizeLimitForNonTsFiles;\n private createExternalProject;\n private addFilesToNonInferredProject;\n private loadConfiguredProject;\n private updateNonInferredProjectFiles;\n private updateRootAndOptionsOfNonInferredProject;\n private reloadFileNamesOfParsedConfig;\n private setProjectForReload;\n private clearSemanticCache;\n private getOrCreateInferredProjectForProjectRootPathIfEnabled;\n private getOrCreateSingleInferredProjectIfEnabled;\n private getOrCreateSingleInferredWithoutProjectRoot;\n private createInferredProject;\n getScriptInfo(uncheckedFileName: string): ScriptInfo | undefined;\n private watchClosedScriptInfo;\n private createNodeModulesWatcher;\n private watchClosedScriptInfoInNodeModules;\n private getModifiedTime;\n private refreshScriptInfo;\n private refreshScriptInfosInDirectory;\n private stopWatchingScriptInfo;\n private getOrCreateScriptInfoNotOpenedByClientForNormalizedPath;\n getOrCreateScriptInfoForNormalizedPath(fileName: NormalizedPath, openedByClient: boolean, fileContent?: string, scriptKind?: ScriptKind, hasMixedContent?: boolean, hostToQueryFileExistsOn?: {\n fileExists(path: string): boolean;\n }): ScriptInfo | undefined;\n private getOrCreateScriptInfoWorker;\n /**\n * This gets the script info for the normalized path. If the path is not rooted disk path then the open script info with project root context is preferred\n */\n getScriptInfoForNormalizedPath(fileName: NormalizedPath): ScriptInfo | undefined;\n getScriptInfoForPath(fileName: Path): ScriptInfo | undefined;\n private addSourceInfoToSourceMap;\n private addMissingSourceMapFile;\n setHostConfiguration(args: protocol.ConfigureRequestArguments): void;\n private getWatchOptionsFromProjectWatchOptions;\n closeLog(): void;\n private sendSourceFileChange;\n /**\n * This function rebuilds the project for every file opened by the client\n * This does not reload contents of open files from disk. But we could do that if needed\n */\n reloadProjects(): void;\n private removeRootOfInferredProjectIfNowPartOfOtherProject;\n private ensureProjectForOpenFiles;\n /**\n * Open file whose contents is managed by the client\n * @param filename is absolute pathname\n * @param fileContent is a known version of the file content that is more up to date than the one on disk\n */\n openClientFile(fileName: string, fileContent?: string, scriptKind?: ScriptKind, projectRootPath?: string): OpenConfiguredProjectResult;\n private findExternalProjectContainingOpenScriptInfo;\n private getOrCreateOpenScriptInfo;\n private assignProjectToOpenedScriptInfo;\n private tryFindDefaultConfiguredProjectForOpenScriptInfo;\n private isMatchedByConfig;\n private tryFindDefaultConfiguredProjectForOpenScriptInfoOrClosedFileInfo;\n private tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo;\n private ensureProjectChildren;\n private cleanupConfiguredProjects;\n private cleanupProjectsAndScriptInfos;\n private tryInvokeWildCardDirectories;\n openClientFileWithNormalizedPath(fileName: NormalizedPath, fileContent?: string, scriptKind?: ScriptKind, hasMixedContent?: boolean, projectRootPath?: NormalizedPath): OpenConfiguredProjectResult;\n private removeOrphanScriptInfos;\n private telemetryOnOpenFile;\n /**\n * Close file whose contents is managed by the client\n * @param filename is absolute pathname\n */\n closeClientFile(uncheckedFileName: string): void;\n private collectChanges;\n closeExternalProject(uncheckedFileName: string): void;\n openExternalProjects(projects: protocol.ExternalProject[]): void;\n private static readonly filenameEscapeRegexp;\n private static escapeFilenameForRegex;\n resetSafeList(): void;\n applySafeList(proj: protocol.ExternalProject): NormalizedPath[];\n private applySafeListWorker;\n openExternalProject(proj: protocol.ExternalProject): void;\n hasDeferredExtension(): boolean;\n private endEnablePlugin;\n private enableRequestedPluginsAsync;\n private enableRequestedPluginsWorker;\n configurePlugin(args: protocol.ConfigurePluginRequestArguments): void;\n private watchPackageJsonFile;\n private onPackageJsonChange;\n }\n function formatMessage<T extends protocol.Message>(msg: T, logger: Logger, byteLength: (s: string, encoding: BufferEncoding) => number, newLine: string): string;\n interface ServerCancellationToken extends HostCancellationToken {\n setRequest(requestId: number): void;\n resetRequest(requestId: number): void;\n }\n const nullCancellationToken: ServerCancellationToken;\n /** @deprecated use ts.server.protocol.CommandTypes */\n type CommandNames = protocol.CommandTypes;\n /** @deprecated use ts.server.protocol.CommandTypes */\n const CommandNames: any;\n type Event = <T extends object>(body: T, eventName: string) => void;\n interface EventSender {\n event: Event;\n }\n interface SessionOptions {\n host: ServerHost;\n cancellationToken: ServerCancellationToken;\n useSingleInferredProject: boolean;\n useInferredProjectPerProjectRoot: boolean;\n typingsInstaller?: ITypingsInstaller;\n byteLength: (buf: string, encoding?: BufferEncoding) => number;\n hrtime: (start?: [\n number,\n number,\n ]) => [\n number,\n number,\n ];\n logger: Logger;\n /**\n * If falsy, all events are suppressed.\n */\n canUseEvents: boolean;\n canUseWatchEvents?: boolean;\n eventHandler?: ProjectServiceEventHandler;\n /** Has no effect if eventHandler is also specified. */\n suppressDiagnosticEvents?: boolean;\n serverMode?: LanguageServiceMode;\n throttleWaitMilliseconds?: number;\n noGetErrOnBackgroundUpdate?: boolean;\n globalPlugins?: readonly string[];\n pluginProbeLocations?: readonly string[];\n allowLocalPluginLoads?: boolean;\n typesMapLocation?: string;\n }\n class Session<TMessage = string> implements EventSender {\n private readonly gcTimer;\n protected projectService: ProjectService;\n private changeSeq;\n private performanceData;\n private currentRequestId;\n private errorCheck;\n protected host: ServerHost;\n private readonly cancellationToken;\n protected readonly typingsInstaller: ITypingsInstaller;\n protected byteLength: (buf: string, encoding?: BufferEncoding) => number;\n private hrtime;\n protected logger: Logger;\n protected canUseEvents: boolean;\n private suppressDiagnosticEvents?;\n private eventHandler;\n private readonly noGetErrOnBackgroundUpdate?;\n constructor(opts: SessionOptions);\n private sendRequestCompletedEvent;\n private addPerformanceData;\n private addDiagnosticsPerformanceData;\n private performanceEventHandler;\n private defaultEventHandler;\n private projectsUpdatedInBackgroundEvent;\n logError(err: Error, cmd: string): void;\n private logErrorWorker;\n send(msg: protocol.Message): void;\n protected writeMessage(msg: protocol.Message): void;\n event<T extends object>(body: T, eventName: string): void;\n private semanticCheck;\n private syntacticCheck;\n private suggestionCheck;\n private regionSemanticCheck;\n private sendDiagnosticsEvent;\n private updateErrorCheck;\n private cleanProjects;\n private cleanup;\n private getEncodedSyntacticClassifications;\n private getEncodedSemanticClassifications;\n private getProject;\n private getConfigFileAndProject;\n private getConfigFileDiagnostics;\n private convertToDiagnosticsWithLinePositionFromDiagnosticFile;\n private getCompilerOptionsDiagnostics;\n private convertToDiagnosticsWithLinePosition;\n private getDiagnosticsWorker;\n private getDefinition;\n private mapDefinitionInfoLocations;\n private getDefinitionAndBoundSpan;\n private findSourceDefinition;\n private getEmitOutput;\n private mapJSDocTagInfo;\n private mapDisplayParts;\n private mapSignatureHelpItems;\n private mapDefinitionInfo;\n private static mapToOriginalLocation;\n private toFileSpan;\n private toFileSpanWithContext;\n private getTypeDefinition;\n private mapImplementationLocations;\n private getImplementation;\n private getSyntacticDiagnosticsSync;\n private getSemanticDiagnosticsSync;\n private getSuggestionDiagnosticsSync;\n private getJsxClosingTag;\n private getLinkedEditingRange;\n private getDocumentHighlights;\n private provideInlayHints;\n private mapCode;\n private getCopilotRelatedInfo;\n private setCompilerOptionsForInferredProjects;\n private getProjectInfo;\n private getProjectInfoWorker;\n private getDefaultConfiguredProjectInfo;\n private getRenameInfo;\n private getProjects;\n private getDefaultProject;\n private getRenameLocations;\n private mapRenameInfo;\n private toSpanGroups;\n private getReferences;\n private getFileReferences;\n private openClientFile;\n private getPosition;\n private getPositionInFile;\n private getFileAndProject;\n private getFileAndLanguageServiceForSyntacticOperation;\n private getFileAndProjectWorker;\n private getOutliningSpans;\n private getTodoComments;\n private getDocCommentTemplate;\n private getSpanOfEnclosingComment;\n private getIndentation;\n private getBreakpointStatement;\n private getNameOrDottedNameSpan;\n private isValidBraceCompletion;\n private getQuickInfoWorker;\n private getFormattingEditsForRange;\n private getFormattingEditsForRangeFull;\n private getFormattingEditsForDocumentFull;\n private getFormattingEditsAfterKeystrokeFull;\n private getFormattingEditsAfterKeystroke;\n private getCompletions;\n private getCompletionEntryDetails;\n private getCompileOnSaveAffectedFileList;\n private emitFile;\n private getSignatureHelpItems;\n private toPendingErrorCheck;\n private getDiagnostics;\n private change;\n private reload;\n private saveToTmp;\n private closeClientFile;\n private mapLocationNavigationBarItems;\n private getNavigationBarItems;\n private toLocationNavigationTree;\n private getNavigationTree;\n private getNavigateToItems;\n private getFullNavigateToItems;\n private getSupportedCodeFixes;\n private isLocation;\n private extractPositionOrRange;\n private getRange;\n private getApplicableRefactors;\n private getEditsForRefactor;\n private getMoveToRefactoringFileSuggestions;\n private preparePasteEdits;\n private getPasteEdits;\n private organizeImports;\n private getEditsForFileRename;\n private getCodeFixes;\n private getCombinedCodeFix;\n private applyCodeActionCommand;\n private getStartAndEndPosition;\n private mapCodeAction;\n private mapCodeFixAction;\n private mapPasteEditsAction;\n private mapTextChangesToCodeEdits;\n private mapTextChangeToCodeEdit;\n private convertTextChangeToCodeEdit;\n private getBraceMatching;\n private getDiagnosticsForProject;\n private configurePlugin;\n private getSmartSelectionRange;\n private toggleLineComment;\n private toggleMultilineComment;\n private commentSelection;\n private uncommentSelection;\n private mapSelectionRange;\n private getScriptInfoFromProjectService;\n private toProtocolCallHierarchyItem;\n private toProtocolCallHierarchyIncomingCall;\n private toProtocolCallHierarchyOutgoingCall;\n private prepareCallHierarchy;\n private provideCallHierarchyIncomingCalls;\n private provideCallHierarchyOutgoingCalls;\n getCanonicalFileName(fileName: string): string;\n exit(): void;\n private notRequired;\n private requiredResponse;\n private handlers;\n addProtocolHandler(command: string, handler: (request: protocol.Request) => HandlerResponse): void;\n private setCurrentRequest;\n private resetCurrentRequest;\n executeWithRequestId<T>(requestId: number, f: () => T): T;\n executeCommand(request: protocol.Request): HandlerResponse;\n onMessage(message: TMessage): void;\n protected parseMessage(message: TMessage): protocol.Request;\n protected toStringMessage(message: TMessage): string;\n private getFormatOptions;\n private getPreferences;\n private getHostFormatOptions;\n private getHostPreferences;\n }\n interface HandlerResponse {\n response?: {};\n responseRequired?: boolean;\n }\n }\n namespace JsTyping {\n interface TypingResolutionHost {\n directoryExists(path: string): boolean;\n fileExists(fileName: string): boolean;\n readFile(path: string, encoding?: string): string | undefined;\n readDirectory(rootDir: string, extensions: readonly string[], excludes: readonly string[] | undefined, includes: readonly string[] | undefined, depth?: number): string[];\n }\n }\n const versionMajorMinor = \"5.8\";\n /** The version of the TypeScript compiler release */\n const version: string;\n /**\n * Type of objects whose values are all of the same type.\n * The `in` and `for-in` operators can *not* be safely used,\n * since `Object.prototype` may be modified by outside code.\n */\n interface MapLike<T> {\n [index: string]: T;\n }\n interface SortedReadonlyArray<T> extends ReadonlyArray<T> {\n \" __sortedArrayBrand\": any;\n }\n interface SortedArray<T> extends Array<T> {\n \" __sortedArrayBrand\": any;\n }\n type Path = string & {\n __pathBrand: any;\n };\n interface TextRange {\n pos: number;\n end: number;\n }\n interface ReadonlyTextRange {\n readonly pos: number;\n readonly end: number;\n }\n enum SyntaxKind {\n Unknown = 0,\n EndOfFileToken = 1,\n SingleLineCommentTrivia = 2,\n MultiLineCommentTrivia = 3,\n NewLineTrivia = 4,\n WhitespaceTrivia = 5,\n ShebangTrivia = 6,\n ConflictMarkerTrivia = 7,\n NonTextFileMarkerTrivia = 8,\n NumericLiteral = 9,\n BigIntLiteral = 10,\n StringLiteral = 11,\n JsxText = 12,\n JsxTextAllWhiteSpaces = 13,\n RegularExpressionLiteral = 14,\n NoSubstitutionTemplateLiteral = 15,\n TemplateHead = 16,\n TemplateMiddle = 17,\n TemplateTail = 18,\n OpenBraceToken = 19,\n CloseBraceToken = 20,\n OpenParenToken = 21,\n CloseParenToken = 22,\n OpenBracketToken = 23,\n CloseBracketToken = 24,\n DotToken = 25,\n DotDotDotToken = 26,\n SemicolonToken = 27,\n CommaToken = 28,\n QuestionDotToken = 29,\n LessThanToken = 30,\n LessThanSlashToken = 31,\n GreaterThanToken = 32,\n LessThanEqualsToken = 33,\n GreaterThanEqualsToken = 34,\n EqualsEqualsToken = 35,\n ExclamationEqualsToken = 36,\n EqualsEqualsEqualsToken = 37,\n ExclamationEqualsEqualsToken = 38,\n EqualsGreaterThanToken = 39,\n PlusToken = 40,\n MinusToken = 41,\n AsteriskToken = 42,\n AsteriskAsteriskToken = 43,\n SlashToken = 44,\n PercentToken = 45,\n PlusPlusToken = 46,\n MinusMinusToken = 47,\n LessThanLessThanToken = 48,\n GreaterThanGreaterThanToken = 49,\n GreaterThanGreaterThanGreaterThanToken = 50,\n AmpersandToken = 51,\n BarToken = 52,\n CaretToken = 53,\n ExclamationToken = 54,\n TildeToken = 55,\n AmpersandAmpersandToken = 56,\n BarBarToken = 57,\n QuestionToken = 58,\n ColonToken = 59,\n AtToken = 60,\n QuestionQuestionToken = 61,\n /** Only the JSDoc scanner produces BacktickToken. The normal scanner produces NoSubstitutionTemplateLiteral and related kinds. */\n BacktickToken = 62,\n /** Only the JSDoc scanner produces HashToken. The normal scanner produces PrivateIdentifier. */\n HashToken = 63,\n EqualsToken = 64,\n PlusEqualsToken = 65,\n MinusEqualsToken = 66,\n AsteriskEqualsToken = 67,\n AsteriskAsteriskEqualsToken = 68,\n SlashEqualsToken = 69,\n PercentEqualsToken = 70,\n LessThanLessThanEqualsToken = 71,\n GreaterThanGreaterThanEqualsToken = 72,\n GreaterThanGreaterThanGreaterThanEqualsToken = 73,\n AmpersandEqualsToken = 74,\n BarEqualsToken = 75,\n BarBarEqualsToken = 76,\n AmpersandAmpersandEqualsToken = 77,\n QuestionQuestionEqualsToken = 78,\n CaretEqualsToken = 79,\n Identifier = 80,\n PrivateIdentifier = 81,\n BreakKeyword = 83,\n CaseKeyword = 84,\n CatchKeyword = 85,\n ClassKeyword = 86,\n ConstKeyword = 87,\n ContinueKeyword = 88,\n DebuggerKeyword = 89,\n DefaultKeyword = 90,\n DeleteKeyword = 91,\n DoKeyword = 92,\n ElseKeyword = 93,\n EnumKeyword = 94,\n ExportKeyword = 95,\n ExtendsKeyword = 96,\n FalseKeyword = 97,\n FinallyKeyword = 98,\n ForKeyword = 99,\n FunctionKeyword = 100,\n IfKeyword = 101,\n ImportKeyword = 102,\n InKeyword = 103,\n InstanceOfKeyword = 104,\n NewKeyword = 105,\n NullKeyword = 106,\n ReturnKeyword = 107,\n SuperKeyword = 108,\n SwitchKeyword = 109,\n ThisKeyword = 110,\n ThrowKeyword = 111,\n TrueKeyword = 112,\n TryKeyword = 113,\n TypeOfKeyword = 114,\n VarKeyword = 115,\n VoidKeyword = 116,\n WhileKeyword = 117,\n WithKeyword = 118,\n ImplementsKeyword = 119,\n InterfaceKeyword = 120,\n LetKeyword = 121,\n PackageKeyword = 122,\n PrivateKeyword = 123,\n ProtectedKeyword = 124,\n PublicKeyword = 125,\n StaticKeyword = 126,\n YieldKeyword = 127,\n AbstractKeyword = 128,\n AccessorKeyword = 129,\n AsKeyword = 130,\n AssertsKeyword = 131,\n AssertKeyword = 132,\n AnyKeyword = 133,\n AsyncKeyword = 134,\n AwaitKeyword = 135,\n BooleanKeyword = 136,\n ConstructorKeyword = 137,\n DeclareKeyword = 138,\n GetKeyword = 139,\n InferKeyword = 140,\n IntrinsicKeyword = 141,\n IsKeyword = 142,\n KeyOfKeyword = 143,\n ModuleKeyword = 144,\n NamespaceKeyword = 145,\n NeverKeyword = 146,\n OutKeyword = 147,\n ReadonlyKeyword = 148,\n RequireKeyword = 149,\n NumberKeyword = 150,\n ObjectKeyword = 151,\n SatisfiesKeyword = 152,\n SetKeyword = 153,\n StringKeyword = 154,\n SymbolKeyword = 155,\n TypeKeyword = 156,\n UndefinedKeyword = 157,\n UniqueKeyword = 158,\n UnknownKeyword = 159,\n UsingKeyword = 160,\n FromKeyword = 161,\n GlobalKeyword = 162,\n BigIntKeyword = 163,\n OverrideKeyword = 164,\n OfKeyword = 165,\n QualifiedName = 166,\n ComputedPropertyName = 167,\n TypeParameter = 168,\n Parameter = 169,\n Decorator = 170,\n PropertySignature = 171,\n PropertyDeclaration = 172,\n MethodSignature = 173,\n MethodDeclaration = 174,\n ClassStaticBlockDeclaration = 175,\n Constructor = 176,\n GetAccessor = 177,\n SetAccessor = 178,\n CallSignature = 179,\n ConstructSignature = 180,\n IndexSignature = 181,\n TypePredicate = 182,\n TypeReference = 183,\n FunctionType = 184,\n ConstructorType = 185,\n TypeQuery = 186,\n TypeLiteral = 187,\n ArrayType = 188,\n TupleType = 189,\n OptionalType = 190,\n RestType = 191,\n UnionType = 192,\n IntersectionType = 193,\n ConditionalType = 194,\n InferType = 195,\n ParenthesizedType = 196,\n ThisType = 197,\n TypeOperator = 198,\n IndexedAccessType = 199,\n MappedType = 200,\n LiteralType = 201,\n NamedTupleMember = 202,\n TemplateLiteralType = 203,\n TemplateLiteralTypeSpan = 204,\n ImportType = 205,\n ObjectBindingPattern = 206,\n ArrayBindingPattern = 207,\n BindingElement = 208,\n ArrayLiteralExpression = 209,\n ObjectLiteralExpression = 210,\n PropertyAccessExpression = 211,\n ElementAccessExpression = 212,\n CallExpression = 213,\n NewExpression = 214,\n TaggedTemplateExpression = 215,\n TypeAssertionExpression = 216,\n ParenthesizedExpression = 217,\n FunctionExpression = 218,\n ArrowFunction = 219,\n DeleteExpression = 220,\n TypeOfExpression = 221,\n VoidExpression = 222,\n AwaitExpression = 223,\n PrefixUnaryExpression = 224,\n PostfixUnaryExpression = 225,\n BinaryExpression = 226,\n ConditionalExpression = 227,\n TemplateExpression = 228,\n YieldExpression = 229,\n SpreadElement = 230,\n ClassExpression = 231,\n OmittedExpression = 232,\n ExpressionWithTypeArguments = 233,\n AsExpression = 234,\n NonNullExpression = 235,\n MetaProperty = 236,\n SyntheticExpression = 237,\n SatisfiesExpression = 238,\n TemplateSpan = 239,\n SemicolonClassElement = 240,\n Block = 241,\n EmptyStatement = 242,\n VariableStatement = 243,\n ExpressionStatement = 244,\n IfStatement = 245,\n DoStatement = 246,\n WhileStatement = 247,\n ForStatement = 248,\n ForInStatement = 249,\n ForOfStatement = 250,\n ContinueStatement = 251,\n BreakStatement = 252,\n ReturnStatement = 253,\n WithStatement = 254,\n SwitchStatement = 255,\n LabeledStatement = 256,\n ThrowStatement = 257,\n TryStatement = 258,\n DebuggerStatement = 259,\n VariableDeclaration = 260,\n VariableDeclarationList = 261,\n FunctionDeclaration = 262,\n ClassDeclaration = 263,\n InterfaceDeclaration = 264,\n TypeAliasDeclaration = 265,\n EnumDeclaration = 266,\n ModuleDeclaration = 267,\n ModuleBlock = 268,\n CaseBlock = 269,\n NamespaceExportDeclaration = 270,\n ImportEqualsDeclaration = 271,\n ImportDeclaration = 272,\n ImportClause = 273,\n NamespaceImport = 274,\n NamedImports = 275,\n ImportSpecifier = 276,\n ExportAssignment = 277,\n ExportDeclaration = 278,\n NamedExports = 279,\n NamespaceExport = 280,\n ExportSpecifier = 281,\n MissingDeclaration = 282,\n ExternalModuleReference = 283,\n JsxElement = 284,\n JsxSelfClosingElement = 285,\n JsxOpeningElement = 286,\n JsxClosingElement = 287,\n JsxFragment = 288,\n JsxOpeningFragment = 289,\n JsxClosingFragment = 290,\n JsxAttribute = 291,\n JsxAttributes = 292,\n JsxSpreadAttribute = 293,\n JsxExpression = 294,\n JsxNamespacedName = 295,\n CaseClause = 296,\n DefaultClause = 297,\n HeritageClause = 298,\n CatchClause = 299,\n ImportAttributes = 300,\n ImportAttribute = 301,\n /** @deprecated */ AssertClause = 300,\n /** @deprecated */ AssertEntry = 301,\n /** @deprecated */ ImportTypeAssertionContainer = 302,\n PropertyAssignment = 303,\n ShorthandPropertyAssignment = 304,\n SpreadAssignment = 305,\n EnumMember = 306,\n SourceFile = 307,\n Bundle = 308,\n JSDocTypeExpression = 309,\n JSDocNameReference = 310,\n JSDocMemberName = 311,\n JSDocAllType = 312,\n JSDocUnknownType = 313,\n JSDocNullableType = 314,\n JSDocNonNullableType = 315,\n JSDocOptionalType = 316,\n JSDocFunctionType = 317,\n JSDocVariadicType = 318,\n JSDocNamepathType = 319,\n JSDoc = 320,\n /** @deprecated Use SyntaxKind.JSDoc */\n JSDocComment = 320,\n JSDocText = 321,\n JSDocTypeLiteral = 322,\n JSDocSignature = 323,\n JSDocLink = 324,\n JSDocLinkCode = 325,\n JSDocLinkPlain = 326,\n JSDocTag = 327,\n JSDocAugmentsTag = 328,\n JSDocImplementsTag = 329,\n JSDocAuthorTag = 330,\n JSDocDeprecatedTag = 331,\n JSDocClassTag = 332,\n JSDocPublicTag = 333,\n JSDocPrivateTag = 334,\n JSDocProtectedTag = 335,\n JSDocReadonlyTag = 336,\n JSDocOverrideTag = 337,\n JSDocCallbackTag = 338,\n JSDocOverloadTag = 339,\n JSDocEnumTag = 340,\n JSDocParameterTag = 341,\n JSDocReturnTag = 342,\n JSDocThisTag = 343,\n JSDocTypeTag = 344,\n JSDocTemplateTag = 345,\n JSDocTypedefTag = 346,\n JSDocSeeTag = 347,\n JSDocPropertyTag = 348,\n JSDocThrowsTag = 349,\n JSDocSatisfiesTag = 350,\n JSDocImportTag = 351,\n SyntaxList = 352,\n NotEmittedStatement = 353,\n NotEmittedTypeElement = 354,\n PartiallyEmittedExpression = 355,\n CommaListExpression = 356,\n SyntheticReferenceExpression = 357,\n Count = 358,\n FirstAssignment = 64,\n LastAssignment = 79,\n FirstCompoundAssignment = 65,\n LastCompoundAssignment = 79,\n FirstReservedWord = 83,\n LastReservedWord = 118,\n FirstKeyword = 83,\n LastKeyword = 165,\n FirstFutureReservedWord = 119,\n LastFutureReservedWord = 127,\n FirstTypeNode = 182,\n LastTypeNode = 205,\n FirstPunctuation = 19,\n LastPunctuation = 79,\n FirstToken = 0,\n LastToken = 165,\n FirstTriviaToken = 2,\n LastTriviaToken = 7,\n FirstLiteralToken = 9,\n LastLiteralToken = 15,\n FirstTemplateToken = 15,\n LastTemplateToken = 18,\n FirstBinaryOperator = 30,\n LastBinaryOperator = 79,\n FirstStatement = 243,\n LastStatement = 259,\n FirstNode = 166,\n FirstJSDocNode = 309,\n LastJSDocNode = 351,\n FirstJSDocTagNode = 327,\n LastJSDocTagNode = 351,\n }\n type TriviaSyntaxKind = SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia | SyntaxKind.NewLineTrivia | SyntaxKind.WhitespaceTrivia | SyntaxKind.ShebangTrivia | SyntaxKind.ConflictMarkerTrivia;\n type LiteralSyntaxKind = SyntaxKind.NumericLiteral | SyntaxKind.BigIntLiteral | SyntaxKind.StringLiteral | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.RegularExpressionLiteral | SyntaxKind.NoSubstitutionTemplateLiteral;\n type PseudoLiteralSyntaxKind = SyntaxKind.TemplateHead | SyntaxKind.TemplateMiddle | SyntaxKind.TemplateTail;\n type PunctuationSyntaxKind =\n | SyntaxKind.OpenBraceToken\n | SyntaxKind.CloseBraceToken\n | SyntaxKind.OpenParenToken\n | SyntaxKind.CloseParenToken\n | SyntaxKind.OpenBracketToken\n | SyntaxKind.CloseBracketToken\n | SyntaxKind.DotToken\n | SyntaxKind.DotDotDotToken\n | SyntaxKind.SemicolonToken\n | SyntaxKind.CommaToken\n | SyntaxKind.QuestionDotToken\n | SyntaxKind.LessThanToken\n | SyntaxKind.LessThanSlashToken\n | SyntaxKind.GreaterThanToken\n | SyntaxKind.LessThanEqualsToken\n | SyntaxKind.GreaterThanEqualsToken\n | SyntaxKind.EqualsEqualsToken\n | SyntaxKind.ExclamationEqualsToken\n | SyntaxKind.EqualsEqualsEqualsToken\n | SyntaxKind.ExclamationEqualsEqualsToken\n | SyntaxKind.EqualsGreaterThanToken\n | SyntaxKind.PlusToken\n | SyntaxKind.MinusToken\n | SyntaxKind.AsteriskToken\n | SyntaxKind.AsteriskAsteriskToken\n | SyntaxKind.SlashToken\n | SyntaxKind.PercentToken\n | SyntaxKind.PlusPlusToken\n | SyntaxKind.MinusMinusToken\n | SyntaxKind.LessThanLessThanToken\n | SyntaxKind.GreaterThanGreaterThanToken\n | SyntaxKind.GreaterThanGreaterThanGreaterThanToken\n | SyntaxKind.AmpersandToken\n | SyntaxKind.BarToken\n | SyntaxKind.CaretToken\n | SyntaxKind.ExclamationToken\n | SyntaxKind.TildeToken\n | SyntaxKind.AmpersandAmpersandToken\n | SyntaxKind.AmpersandAmpersandEqualsToken\n | SyntaxKind.BarBarToken\n | SyntaxKind.BarBarEqualsToken\n | SyntaxKind.QuestionQuestionToken\n | SyntaxKind.QuestionQuestionEqualsToken\n | SyntaxKind.QuestionToken\n | SyntaxKind.ColonToken\n | SyntaxKind.AtToken\n | SyntaxKind.BacktickToken\n | SyntaxKind.HashToken\n | SyntaxKind.EqualsToken\n | SyntaxKind.PlusEqualsToken\n | SyntaxKind.MinusEqualsToken\n | SyntaxKind.AsteriskEqualsToken\n | SyntaxKind.AsteriskAsteriskEqualsToken\n | SyntaxKind.SlashEqualsToken\n | SyntaxKind.PercentEqualsToken\n | SyntaxKind.LessThanLessThanEqualsToken\n | SyntaxKind.GreaterThanGreaterThanEqualsToken\n | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken\n | SyntaxKind.AmpersandEqualsToken\n | SyntaxKind.BarEqualsToken\n | SyntaxKind.CaretEqualsToken;\n type KeywordSyntaxKind =\n | SyntaxKind.AbstractKeyword\n | SyntaxKind.AccessorKeyword\n | SyntaxKind.AnyKeyword\n | SyntaxKind.AsKeyword\n | SyntaxKind.AssertsKeyword\n | SyntaxKind.AssertKeyword\n | SyntaxKind.AsyncKeyword\n | SyntaxKind.AwaitKeyword\n | SyntaxKind.BigIntKeyword\n | SyntaxKind.BooleanKeyword\n | SyntaxKind.BreakKeyword\n | SyntaxKind.CaseKeyword\n | SyntaxKind.CatchKeyword\n | SyntaxKind.ClassKeyword\n | SyntaxKind.ConstKeyword\n | SyntaxKind.ConstructorKeyword\n | SyntaxKind.ContinueKeyword\n | SyntaxKind.DebuggerKeyword\n | SyntaxKind.DeclareKeyword\n | SyntaxKind.DefaultKeyword\n | SyntaxKind.DeleteKeyword\n | SyntaxKind.DoKeyword\n | SyntaxKind.ElseKeyword\n | SyntaxKind.EnumKeyword\n | SyntaxKind.ExportKeyword\n | SyntaxKind.ExtendsKeyword\n | SyntaxKind.FalseKeyword\n | SyntaxKind.FinallyKeyword\n | SyntaxKind.ForKeyword\n | SyntaxKind.FromKeyword\n | SyntaxKind.FunctionKeyword\n | SyntaxKind.GetKeyword\n | SyntaxKind.GlobalKeyword\n | SyntaxKind.IfKeyword\n | SyntaxKind.ImplementsKeyword\n | SyntaxKind.ImportKeyword\n | SyntaxKind.InferKeyword\n | SyntaxKind.InKeyword\n | SyntaxKind.InstanceOfKeyword\n | SyntaxKind.InterfaceKeyword\n | SyntaxKind.IntrinsicKeyword\n | SyntaxKind.IsKeyword\n | SyntaxKind.KeyOfKeyword\n | SyntaxKind.LetKeyword\n | SyntaxKind.ModuleKeyword\n | SyntaxKind.NamespaceKeyword\n | SyntaxKind.NeverKeyword\n | SyntaxKind.NewKeyword\n | SyntaxKind.NullKeyword\n | SyntaxKind.NumberKeyword\n | SyntaxKind.ObjectKeyword\n | SyntaxKind.OfKeyword\n | SyntaxKind.PackageKeyword\n | SyntaxKind.PrivateKeyword\n | SyntaxKind.ProtectedKeyword\n | SyntaxKind.PublicKeyword\n | SyntaxKind.ReadonlyKeyword\n | SyntaxKind.OutKeyword\n | SyntaxKind.OverrideKeyword\n | SyntaxKind.RequireKeyword\n | SyntaxKind.ReturnKeyword\n | SyntaxKind.SatisfiesKeyword\n | SyntaxKind.SetKeyword\n | SyntaxKind.StaticKeyword\n | SyntaxKind.StringKeyword\n | SyntaxKind.SuperKeyword\n | SyntaxKind.SwitchKeyword\n | SyntaxKind.SymbolKeyword\n | SyntaxKind.ThisKeyword\n | SyntaxKind.ThrowKeyword\n | SyntaxKind.TrueKeyword\n | SyntaxKind.TryKeyword\n | SyntaxKind.TypeKeyword\n | SyntaxKind.TypeOfKeyword\n | SyntaxKind.UndefinedKeyword\n | SyntaxKind.UniqueKeyword\n | SyntaxKind.UnknownKeyword\n | SyntaxKind.UsingKeyword\n | SyntaxKind.VarKeyword\n | SyntaxKind.VoidKeyword\n | SyntaxKind.WhileKeyword\n | SyntaxKind.WithKeyword\n | SyntaxKind.YieldKeyword;\n type ModifierSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AccessorKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.ConstKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.ExportKeyword | SyntaxKind.InKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.OutKeyword | SyntaxKind.OverrideKeyword | SyntaxKind.StaticKeyword;\n type KeywordTypeSyntaxKind = SyntaxKind.AnyKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.IntrinsicKeyword | SyntaxKind.NeverKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.StringKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.VoidKeyword;\n type TokenSyntaxKind = SyntaxKind.Unknown | SyntaxKind.EndOfFileToken | TriviaSyntaxKind | LiteralSyntaxKind | PseudoLiteralSyntaxKind | PunctuationSyntaxKind | SyntaxKind.Identifier | KeywordSyntaxKind;\n type JsxTokenSyntaxKind = SyntaxKind.LessThanSlashToken | SyntaxKind.EndOfFileToken | SyntaxKind.ConflictMarkerTrivia | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.OpenBraceToken | SyntaxKind.LessThanToken;\n type JSDocSyntaxKind = SyntaxKind.EndOfFileToken | SyntaxKind.WhitespaceTrivia | SyntaxKind.AtToken | SyntaxKind.NewLineTrivia | SyntaxKind.AsteriskToken | SyntaxKind.OpenBraceToken | SyntaxKind.CloseBraceToken | SyntaxKind.LessThanToken | SyntaxKind.GreaterThanToken | SyntaxKind.OpenBracketToken | SyntaxKind.CloseBracketToken | SyntaxKind.OpenParenToken | SyntaxKind.CloseParenToken | SyntaxKind.EqualsToken | SyntaxKind.CommaToken | SyntaxKind.DotToken | SyntaxKind.Identifier | SyntaxKind.BacktickToken | SyntaxKind.HashToken | SyntaxKind.Unknown | KeywordSyntaxKind;\n enum NodeFlags {\n None = 0,\n Let = 1,\n Const = 2,\n Using = 4,\n AwaitUsing = 6,\n NestedNamespace = 8,\n Synthesized = 16,\n Namespace = 32,\n OptionalChain = 64,\n ExportContext = 128,\n ContainsThis = 256,\n HasImplicitReturn = 512,\n HasExplicitReturn = 1024,\n GlobalAugmentation = 2048,\n HasAsyncFunctions = 4096,\n DisallowInContext = 8192,\n YieldContext = 16384,\n DecoratorContext = 32768,\n AwaitContext = 65536,\n DisallowConditionalTypesContext = 131072,\n ThisNodeHasError = 262144,\n JavaScriptFile = 524288,\n ThisNodeOrAnySubNodesHasError = 1048576,\n HasAggregatedChildData = 2097152,\n JSDoc = 16777216,\n JsonFile = 134217728,\n BlockScoped = 7,\n Constant = 6,\n ReachabilityCheckFlags = 1536,\n ReachabilityAndEmitFlags = 5632,\n ContextFlags = 101441536,\n TypeExcludesFlags = 81920,\n }\n enum ModifierFlags {\n None = 0,\n Public = 1,\n Private = 2,\n Protected = 4,\n Readonly = 8,\n Override = 16,\n Export = 32,\n Abstract = 64,\n Ambient = 128,\n Static = 256,\n Accessor = 512,\n Async = 1024,\n Default = 2048,\n Const = 4096,\n In = 8192,\n Out = 16384,\n Decorator = 32768,\n Deprecated = 65536,\n HasComputedJSDocModifiers = 268435456,\n HasComputedFlags = 536870912,\n AccessibilityModifier = 7,\n ParameterPropertyModifier = 31,\n NonPublicAccessibilityModifier = 6,\n TypeScriptModifier = 28895,\n ExportDefault = 2080,\n All = 131071,\n Modifier = 98303,\n }\n enum JsxFlags {\n None = 0,\n /** An element from a named property of the JSX.IntrinsicElements interface */\n IntrinsicNamedElement = 1,\n /** An element inferred from the string index signature of the JSX.IntrinsicElements interface */\n IntrinsicIndexedElement = 2,\n IntrinsicElement = 3,\n }\n interface Node extends ReadonlyTextRange {\n readonly kind: SyntaxKind;\n readonly flags: NodeFlags;\n readonly parent: Node;\n }\n interface Node {\n getSourceFile(): SourceFile;\n getChildCount(sourceFile?: SourceFile): number;\n getChildAt(index: number, sourceFile?: SourceFile): Node;\n getChildren(sourceFile?: SourceFile): readonly Node[];\n getStart(sourceFile?: SourceFile, includeJsDocComment?: boolean): number;\n getFullStart(): number;\n getEnd(): number;\n getWidth(sourceFile?: SourceFileLike): number;\n getFullWidth(): number;\n getLeadingTriviaWidth(sourceFile?: SourceFile): number;\n getFullText(sourceFile?: SourceFile): string;\n getText(sourceFile?: SourceFile): string;\n getFirstToken(sourceFile?: SourceFile): Node | undefined;\n getLastToken(sourceFile?: SourceFile): Node | undefined;\n forEachChild<T>(cbNode: (node: Node) => T | undefined, cbNodeArray?: (nodes: NodeArray<Node>) => T | undefined): T | undefined;\n }\n interface JSDocContainer extends Node {\n _jsdocContainerBrand: any;\n }\n interface LocalsContainer extends Node {\n _localsContainerBrand: any;\n }\n interface FlowContainer extends Node {\n _flowContainerBrand: any;\n }\n type HasJSDoc =\n | AccessorDeclaration\n | ArrowFunction\n | BinaryExpression\n | Block\n | BreakStatement\n | CallSignatureDeclaration\n | CaseClause\n | ClassLikeDeclaration\n | ClassStaticBlockDeclaration\n | ConstructorDeclaration\n | ConstructorTypeNode\n | ConstructSignatureDeclaration\n | ContinueStatement\n | DebuggerStatement\n | DoStatement\n | ElementAccessExpression\n | EmptyStatement\n | EndOfFileToken\n | EnumDeclaration\n | EnumMember\n | ExportAssignment\n | ExportDeclaration\n | ExportSpecifier\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | FunctionDeclaration\n | FunctionExpression\n | FunctionTypeNode\n | Identifier\n | IfStatement\n | ImportDeclaration\n | ImportEqualsDeclaration\n | IndexSignatureDeclaration\n | InterfaceDeclaration\n | JSDocFunctionType\n | JSDocSignature\n | LabeledStatement\n | MethodDeclaration\n | MethodSignature\n | ModuleDeclaration\n | NamedTupleMember\n | NamespaceExportDeclaration\n | ObjectLiteralExpression\n | ParameterDeclaration\n | ParenthesizedExpression\n | PropertyAccessExpression\n | PropertyAssignment\n | PropertyDeclaration\n | PropertySignature\n | ReturnStatement\n | SemicolonClassElement\n | ShorthandPropertyAssignment\n | SpreadAssignment\n | SwitchStatement\n | ThrowStatement\n | TryStatement\n | TypeAliasDeclaration\n | TypeParameterDeclaration\n | VariableDeclaration\n | VariableStatement\n | WhileStatement\n | WithStatement;\n type HasType = SignatureDeclaration | VariableDeclaration | ParameterDeclaration | PropertySignature | PropertyDeclaration | TypePredicateNode | ParenthesizedTypeNode | TypeOperatorNode | MappedTypeNode | AssertionExpression | TypeAliasDeclaration | JSDocTypeExpression | JSDocNonNullableType | JSDocNullableType | JSDocOptionalType | JSDocVariadicType;\n type HasTypeArguments = CallExpression | NewExpression | TaggedTemplateExpression | JsxOpeningElement | JsxSelfClosingElement;\n type HasInitializer = HasExpressionInitializer | ForStatement | ForInStatement | ForOfStatement | JsxAttribute;\n type HasExpressionInitializer = VariableDeclaration | ParameterDeclaration | BindingElement | PropertyDeclaration | PropertyAssignment | EnumMember;\n type HasDecorators = ParameterDeclaration | PropertyDeclaration | MethodDeclaration | GetAccessorDeclaration | SetAccessorDeclaration | ClassExpression | ClassDeclaration;\n type HasModifiers = TypeParameterDeclaration | ParameterDeclaration | ConstructorTypeNode | PropertySignature | PropertyDeclaration | MethodSignature | MethodDeclaration | ConstructorDeclaration | GetAccessorDeclaration | SetAccessorDeclaration | IndexSignatureDeclaration | FunctionExpression | ArrowFunction | ClassExpression | VariableStatement | FunctionDeclaration | ClassDeclaration | InterfaceDeclaration | TypeAliasDeclaration | EnumDeclaration | ModuleDeclaration | ImportEqualsDeclaration | ImportDeclaration | ExportAssignment | ExportDeclaration;\n interface NodeArray<T extends Node> extends ReadonlyArray<T>, ReadonlyTextRange {\n readonly hasTrailingComma: boolean;\n }\n interface Token<TKind extends SyntaxKind> extends Node {\n readonly kind: TKind;\n }\n type EndOfFileToken = Token<SyntaxKind.EndOfFileToken> & JSDocContainer;\n interface PunctuationToken<TKind extends PunctuationSyntaxKind> extends Token<TKind> {\n }\n type DotToken = PunctuationToken<SyntaxKind.DotToken>;\n type DotDotDotToken = PunctuationToken<SyntaxKind.DotDotDotToken>;\n type QuestionToken = PunctuationToken<SyntaxKind.QuestionToken>;\n type ExclamationToken = PunctuationToken<SyntaxKind.ExclamationToken>;\n type ColonToken = PunctuationToken<SyntaxKind.ColonToken>;\n type EqualsToken = PunctuationToken<SyntaxKind.EqualsToken>;\n type AmpersandAmpersandEqualsToken = PunctuationToken<SyntaxKind.AmpersandAmpersandEqualsToken>;\n type BarBarEqualsToken = PunctuationToken<SyntaxKind.BarBarEqualsToken>;\n type QuestionQuestionEqualsToken = PunctuationToken<SyntaxKind.QuestionQuestionEqualsToken>;\n type AsteriskToken = PunctuationToken<SyntaxKind.AsteriskToken>;\n type EqualsGreaterThanToken = PunctuationToken<SyntaxKind.EqualsGreaterThanToken>;\n type PlusToken = PunctuationToken<SyntaxKind.PlusToken>;\n type MinusToken = PunctuationToken<SyntaxKind.MinusToken>;\n type QuestionDotToken = PunctuationToken<SyntaxKind.QuestionDotToken>;\n interface KeywordToken<TKind extends KeywordSyntaxKind> extends Token<TKind> {\n }\n type AssertsKeyword = KeywordToken<SyntaxKind.AssertsKeyword>;\n type AssertKeyword = KeywordToken<SyntaxKind.AssertKeyword>;\n type AwaitKeyword = KeywordToken<SyntaxKind.AwaitKeyword>;\n type CaseKeyword = KeywordToken<SyntaxKind.CaseKeyword>;\n interface ModifierToken<TKind extends ModifierSyntaxKind> extends KeywordToken<TKind> {\n }\n type AbstractKeyword = ModifierToken<SyntaxKind.AbstractKeyword>;\n type AccessorKeyword = ModifierToken<SyntaxKind.AccessorKeyword>;\n type AsyncKeyword = ModifierToken<SyntaxKind.AsyncKeyword>;\n type ConstKeyword = ModifierToken<SyntaxKind.ConstKeyword>;\n type DeclareKeyword = ModifierToken<SyntaxKind.DeclareKeyword>;\n type DefaultKeyword = ModifierToken<SyntaxKind.DefaultKeyword>;\n type ExportKeyword = ModifierToken<SyntaxKind.ExportKeyword>;\n type InKeyword = ModifierToken<SyntaxKind.InKeyword>;\n type PrivateKeyword = ModifierToken<SyntaxKind.PrivateKeyword>;\n type ProtectedKeyword = ModifierToken<SyntaxKind.ProtectedKeyword>;\n type PublicKeyword = ModifierToken<SyntaxKind.PublicKeyword>;\n type ReadonlyKeyword = ModifierToken<SyntaxKind.ReadonlyKeyword>;\n type OutKeyword = ModifierToken<SyntaxKind.OutKeyword>;\n type OverrideKeyword = ModifierToken<SyntaxKind.OverrideKeyword>;\n type StaticKeyword = ModifierToken<SyntaxKind.StaticKeyword>;\n type Modifier = AbstractKeyword | AccessorKeyword | AsyncKeyword | ConstKeyword | DeclareKeyword | DefaultKeyword | ExportKeyword | InKeyword | PrivateKeyword | ProtectedKeyword | PublicKeyword | OutKeyword | OverrideKeyword | ReadonlyKeyword | StaticKeyword;\n type ModifierLike = Modifier | Decorator;\n type AccessibilityModifier = PublicKeyword | PrivateKeyword | ProtectedKeyword;\n type ParameterPropertyModifier = AccessibilityModifier | ReadonlyKeyword;\n type ClassMemberModifier = AccessibilityModifier | ReadonlyKeyword | StaticKeyword | AccessorKeyword;\n type ModifiersArray = NodeArray<Modifier>;\n enum GeneratedIdentifierFlags {\n None = 0,\n ReservedInNestedScopes = 8,\n Optimistic = 16,\n FileLevel = 32,\n AllowNameSubstitution = 64,\n }\n interface Identifier extends PrimaryExpression, Declaration, JSDocContainer, FlowContainer {\n readonly kind: SyntaxKind.Identifier;\n /**\n * Prefer to use `id.unescapedText`. (Note: This is available only in services, not internally to the TypeScript compiler.)\n * Text of identifier, but if the identifier begins with two underscores, this will begin with three.\n */\n readonly escapedText: __String;\n }\n interface Identifier {\n readonly text: string;\n }\n interface TransientIdentifier extends Identifier {\n resolvedSymbol: Symbol;\n }\n interface QualifiedName extends Node, FlowContainer {\n readonly kind: SyntaxKind.QualifiedName;\n readonly left: EntityName;\n readonly right: Identifier;\n }\n type EntityName = Identifier | QualifiedName;\n type PropertyName = Identifier | StringLiteral | NoSubstitutionTemplateLiteral | NumericLiteral | ComputedPropertyName | PrivateIdentifier | BigIntLiteral;\n type MemberName = Identifier | PrivateIdentifier;\n type DeclarationName = PropertyName | JsxAttributeName | StringLiteralLike | ElementAccessExpression | BindingPattern | EntityNameExpression;\n interface Declaration extends Node {\n _declarationBrand: any;\n }\n interface NamedDeclaration extends Declaration {\n readonly name?: DeclarationName;\n }\n interface DeclarationStatement extends NamedDeclaration, Statement {\n readonly name?: Identifier | StringLiteral | NumericLiteral;\n }\n interface ComputedPropertyName extends Node {\n readonly kind: SyntaxKind.ComputedPropertyName;\n readonly parent: Declaration;\n readonly expression: Expression;\n }\n interface PrivateIdentifier extends PrimaryExpression {\n readonly kind: SyntaxKind.PrivateIdentifier;\n readonly escapedText: __String;\n }\n interface PrivateIdentifier {\n readonly text: string;\n }\n interface Decorator extends Node {\n readonly kind: SyntaxKind.Decorator;\n readonly parent: NamedDeclaration;\n readonly expression: LeftHandSideExpression;\n }\n interface TypeParameterDeclaration extends NamedDeclaration, JSDocContainer {\n readonly kind: SyntaxKind.TypeParameter;\n readonly parent: DeclarationWithTypeParameterChildren | InferTypeNode;\n readonly modifiers?: NodeArray<Modifier>;\n readonly name: Identifier;\n /** Note: Consider calling `getEffectiveConstraintOfTypeParameter` */\n readonly constraint?: TypeNode;\n readonly default?: TypeNode;\n expression?: Expression;\n }\n interface SignatureDeclarationBase extends NamedDeclaration, JSDocContainer {\n readonly kind: SignatureDeclaration[\"kind\"];\n readonly name?: PropertyName;\n readonly typeParameters?: NodeArray<TypeParameterDeclaration> | undefined;\n readonly parameters: NodeArray<ParameterDeclaration>;\n readonly type?: TypeNode | undefined;\n }\n type SignatureDeclaration = CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | AccessorDeclaration | FunctionExpression | ArrowFunction;\n interface CallSignatureDeclaration extends SignatureDeclarationBase, TypeElement, LocalsContainer {\n readonly kind: SyntaxKind.CallSignature;\n }\n interface ConstructSignatureDeclaration extends SignatureDeclarationBase, TypeElement, LocalsContainer {\n readonly kind: SyntaxKind.ConstructSignature;\n }\n type BindingName = Identifier | BindingPattern;\n interface VariableDeclaration extends NamedDeclaration, JSDocContainer {\n readonly kind: SyntaxKind.VariableDeclaration;\n readonly parent: VariableDeclarationList | CatchClause;\n readonly name: BindingName;\n readonly exclamationToken?: ExclamationToken;\n readonly type?: TypeNode;\n readonly initializer?: Expression;\n }\n interface VariableDeclarationList extends Node {\n readonly kind: SyntaxKind.VariableDeclarationList;\n readonly parent: VariableStatement | ForStatement | ForOfStatement | ForInStatement;\n readonly declarations: NodeArray<VariableDeclaration>;\n }\n interface ParameterDeclaration extends NamedDeclaration, JSDocContainer {\n readonly kind: SyntaxKind.Parameter;\n readonly parent: SignatureDeclaration;\n readonly modifiers?: NodeArray<ModifierLike>;\n readonly dotDotDotToken?: DotDotDotToken;\n readonly name: BindingName;\n readonly questionToken?: QuestionToken;\n readonly type?: TypeNode;\n readonly initializer?: Expression;\n }\n interface BindingElement extends NamedDeclaration, FlowContainer {\n readonly kind: SyntaxKind.BindingElement;\n readonly parent: BindingPattern;\n readonly propertyName?: PropertyName;\n readonly dotDotDotToken?: DotDotDotToken;\n readonly name: BindingName;\n readonly initializer?: Expression;\n }\n interface PropertySignature extends TypeElement, JSDocContainer {\n readonly kind: SyntaxKind.PropertySignature;\n readonly parent: TypeLiteralNode | InterfaceDeclaration;\n readonly modifiers?: NodeArray<Modifier>;\n readonly name: PropertyName;\n readonly questionToken?: QuestionToken;\n readonly type?: TypeNode;\n }\n interface PropertyDeclaration extends ClassElement, JSDocContainer {\n readonly kind: SyntaxKind.PropertyDeclaration;\n readonly parent: ClassLikeDeclaration;\n readonly modifiers?: NodeArray<ModifierLike>;\n readonly name: PropertyName;\n readonly questionToken?: QuestionToken;\n readonly exclamationToken?: ExclamationToken;\n readonly type?: TypeNode;\n readonly initializer?: Expression;\n }\n interface AutoAccessorPropertyDeclaration extends PropertyDeclaration {\n _autoAccessorBrand: any;\n }\n interface ObjectLiteralElement extends NamedDeclaration {\n _objectLiteralBrand: any;\n readonly name?: PropertyName;\n }\n /** Unlike ObjectLiteralElement, excludes JSXAttribute and JSXSpreadAttribute. */\n type ObjectLiteralElementLike = PropertyAssignment | ShorthandPropertyAssignment | SpreadAssignment | MethodDeclaration | AccessorDeclaration;\n interface PropertyAssignment extends ObjectLiteralElement, JSDocContainer {\n readonly kind: SyntaxKind.PropertyAssignment;\n readonly parent: ObjectLiteralExpression;\n readonly name: PropertyName;\n readonly initializer: Expression;\n }\n interface ShorthandPropertyAssignment extends ObjectLiteralElement, JSDocContainer {\n readonly kind: SyntaxKind.ShorthandPropertyAssignment;\n readonly parent: ObjectLiteralExpression;\n readonly name: Identifier;\n readonly equalsToken?: EqualsToken;\n readonly objectAssignmentInitializer?: Expression;\n }\n interface SpreadAssignment extends ObjectLiteralElement, JSDocContainer {\n readonly kind: SyntaxKind.SpreadAssignment;\n readonly parent: ObjectLiteralExpression;\n readonly expression: Expression;\n }\n type VariableLikeDeclaration = VariableDeclaration | ParameterDeclaration | BindingElement | PropertyDeclaration | PropertyAssignment | PropertySignature | JsxAttribute | ShorthandPropertyAssignment | EnumMember | JSDocPropertyTag | JSDocParameterTag;\n interface ObjectBindingPattern extends Node {\n readonly kind: SyntaxKind.ObjectBindingPattern;\n readonly parent: VariableDeclaration | ParameterDeclaration | BindingElement;\n readonly elements: NodeArray<BindingElement>;\n }\n interface ArrayBindingPattern extends Node {\n readonly kind: SyntaxKind.ArrayBindingPattern;\n readonly parent: VariableDeclaration | ParameterDeclaration | BindingElement;\n readonly elements: NodeArray<ArrayBindingElement>;\n }\n type BindingPattern = ObjectBindingPattern | ArrayBindingPattern;\n type ArrayBindingElement = BindingElement | OmittedExpression;\n /**\n * Several node kinds share function-like features such as a signature,\n * a name, and a body. These nodes should extend FunctionLikeDeclarationBase.\n * Examples:\n * - FunctionDeclaration\n * - MethodDeclaration\n * - AccessorDeclaration\n */\n interface FunctionLikeDeclarationBase extends SignatureDeclarationBase {\n _functionLikeDeclarationBrand: any;\n readonly asteriskToken?: AsteriskToken | undefined;\n readonly questionToken?: QuestionToken | undefined;\n readonly exclamationToken?: ExclamationToken | undefined;\n readonly body?: Block | Expression | undefined;\n }\n type FunctionLikeDeclaration = FunctionDeclaration | MethodDeclaration | GetAccessorDeclaration | SetAccessorDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction;\n /** @deprecated Use SignatureDeclaration */\n type FunctionLike = SignatureDeclaration;\n interface FunctionDeclaration extends FunctionLikeDeclarationBase, DeclarationStatement, LocalsContainer {\n readonly kind: SyntaxKind.FunctionDeclaration;\n readonly modifiers?: NodeArray<ModifierLike>;\n readonly name?: Identifier;\n readonly body?: FunctionBody;\n }\n interface MethodSignature extends SignatureDeclarationBase, TypeElement, LocalsContainer {\n readonly kind: SyntaxKind.MethodSignature;\n readonly parent: TypeLiteralNode | InterfaceDeclaration;\n readonly modifiers?: NodeArray<Modifier>;\n readonly name: PropertyName;\n }\n interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer, LocalsContainer, FlowContainer {\n readonly kind: SyntaxKind.MethodDeclaration;\n readonly parent: ClassLikeDeclaration | ObjectLiteralExpression;\n readonly modifiers?: NodeArray<ModifierLike> | undefined;\n readonly name: PropertyName;\n readonly body?: FunctionBody | undefined;\n }\n interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement, JSDocContainer, LocalsContainer {\n readonly kind: SyntaxKind.Constructor;\n readonly parent: ClassLikeDeclaration;\n readonly modifiers?: NodeArray<ModifierLike> | undefined;\n readonly body?: FunctionBody | undefined;\n }\n /** For when we encounter a semicolon in a class declaration. ES6 allows these as class elements. */\n interface SemicolonClassElement extends ClassElement, JSDocContainer {\n readonly kind: SyntaxKind.SemicolonClassElement;\n readonly parent: ClassLikeDeclaration;\n }\n interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement, JSDocContainer, LocalsContainer, FlowContainer {\n readonly kind: SyntaxKind.GetAccessor;\n readonly parent: ClassLikeDeclaration | ObjectLiteralExpression | TypeLiteralNode | InterfaceDeclaration;\n readonly modifiers?: NodeArray<ModifierLike>;\n readonly name: PropertyName;\n readonly body?: FunctionBody;\n }\n interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement, JSDocContainer, LocalsContainer, FlowContainer {\n readonly kind: SyntaxKind.SetAccessor;\n readonly parent: ClassLikeDeclaration | ObjectLiteralExpression | TypeLiteralNode | InterfaceDeclaration;\n readonly modifiers?: NodeArray<ModifierLike>;\n readonly name: PropertyName;\n readonly body?: FunctionBody;\n }\n type AccessorDeclaration = GetAccessorDeclaration | SetAccessorDeclaration;\n interface IndexSignatureDeclaration extends SignatureDeclarationBase, ClassElement, TypeElement, LocalsContainer {\n readonly kind: SyntaxKind.IndexSignature;\n readonly parent: ObjectTypeDeclaration;\n readonly modifiers?: NodeArray<ModifierLike>;\n readonly type: TypeNode;\n }\n interface ClassStaticBlockDeclaration extends ClassElement, JSDocContainer, LocalsContainer {\n readonly kind: SyntaxKind.ClassStaticBlockDeclaration;\n readonly parent: ClassDeclaration | ClassExpression;\n readonly body: Block;\n }\n interface TypeNode extends Node {\n _typeNodeBrand: any;\n }\n interface KeywordTypeNode<TKind extends KeywordTypeSyntaxKind = KeywordTypeSyntaxKind> extends KeywordToken<TKind>, TypeNode {\n readonly kind: TKind;\n }\n /** @deprecated */\n interface ImportTypeAssertionContainer extends Node {\n readonly kind: SyntaxKind.ImportTypeAssertionContainer;\n readonly parent: ImportTypeNode;\n /** @deprecated */ readonly assertClause: AssertClause;\n readonly multiLine?: boolean;\n }\n interface ImportTypeNode extends NodeWithTypeArguments {\n readonly kind: SyntaxKind.ImportType;\n readonly isTypeOf: boolean;\n readonly argument: TypeNode;\n /** @deprecated */ readonly assertions?: ImportTypeAssertionContainer;\n readonly attributes?: ImportAttributes;\n readonly qualifier?: EntityName;\n }\n interface ThisTypeNode extends TypeNode {\n readonly kind: SyntaxKind.ThisType;\n }\n type FunctionOrConstructorTypeNode = FunctionTypeNode | ConstructorTypeNode;\n interface FunctionOrConstructorTypeNodeBase extends TypeNode, SignatureDeclarationBase {\n readonly kind: SyntaxKind.FunctionType | SyntaxKind.ConstructorType;\n readonly type: TypeNode;\n }\n interface FunctionTypeNode extends FunctionOrConstructorTypeNodeBase, LocalsContainer {\n readonly kind: SyntaxKind.FunctionType;\n }\n interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase, LocalsContainer {\n readonly kind: SyntaxKind.ConstructorType;\n readonly modifiers?: NodeArray<Modifier>;\n }\n interface NodeWithTypeArguments extends TypeNode {\n readonly typeArguments?: NodeArray<TypeNode>;\n }\n type TypeReferenceType = TypeReferenceNode | ExpressionWithTypeArguments;\n interface TypeReferenceNode extends NodeWithTypeArguments {\n readonly kind: SyntaxKind.TypeReference;\n readonly typeName: EntityName;\n }\n interface TypePredicateNode extends TypeNode {\n readonly kind: SyntaxKind.TypePredicate;\n readonly parent: SignatureDeclaration | JSDocTypeExpression;\n readonly assertsModifier?: AssertsKeyword;\n readonly parameterName: Identifier | ThisTypeNode;\n readonly type?: TypeNode;\n }\n interface TypeQueryNode extends NodeWithTypeArguments {\n readonly kind: SyntaxKind.TypeQuery;\n readonly exprName: EntityName;\n }\n interface TypeLiteralNode extends TypeNode, Declaration {\n readonly kind: SyntaxKind.TypeLiteral;\n readonly members: NodeArray<TypeElement>;\n }\n interface ArrayTypeNode extends TypeNode {\n readonly kind: SyntaxKind.ArrayType;\n readonly elementType: TypeNode;\n }\n interface TupleTypeNode extends TypeNode {\n readonly kind: SyntaxKind.TupleType;\n readonly elements: NodeArray<TypeNode | NamedTupleMember>;\n }\n interface NamedTupleMember extends TypeNode, Declaration, JSDocContainer {\n readonly kind: SyntaxKind.NamedTupleMember;\n readonly dotDotDotToken?: Token<SyntaxKind.DotDotDotToken>;\n readonly name: Identifier;\n readonly questionToken?: Token<SyntaxKind.QuestionToken>;\n readonly type: TypeNode;\n }\n interface OptionalTypeNode extends TypeNode {\n readonly kind: SyntaxKind.OptionalType;\n readonly type: TypeNode;\n }\n interface RestTypeNode extends TypeNode {\n readonly kind: SyntaxKind.RestType;\n readonly type: TypeNode;\n }\n type UnionOrIntersectionTypeNode = UnionTypeNode | IntersectionTypeNode;\n interface UnionTypeNode extends TypeNode {\n readonly kind: SyntaxKind.UnionType;\n readonly types: NodeArray<TypeNode>;\n }\n interface IntersectionTypeNode extends TypeNode {\n readonly kind: SyntaxKind.IntersectionType;\n readonly types: NodeArray<TypeNode>;\n }\n interface ConditionalTypeNode extends TypeNode, LocalsContainer {\n readonly kind: SyntaxKind.ConditionalType;\n readonly checkType: TypeNode;\n readonly extendsType: TypeNode;\n readonly trueType: TypeNode;\n readonly falseType: TypeNode;\n }\n interface InferTypeNode extends TypeNode {\n readonly kind: SyntaxKind.InferType;\n readonly typeParameter: TypeParameterDeclaration;\n }\n interface ParenthesizedTypeNode extends TypeNode {\n readonly kind: SyntaxKind.ParenthesizedType;\n readonly type: TypeNode;\n }\n interface TypeOperatorNode extends TypeNode {\n readonly kind: SyntaxKind.TypeOperator;\n readonly operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.ReadonlyKeyword;\n readonly type: TypeNode;\n }\n interface IndexedAccessTypeNode extends TypeNode {\n readonly kind: SyntaxKind.IndexedAccessType;\n readonly objectType: TypeNode;\n readonly indexType: TypeNode;\n }\n interface MappedTypeNode extends TypeNode, Declaration, LocalsContainer {\n readonly kind: SyntaxKind.MappedType;\n readonly readonlyToken?: ReadonlyKeyword | PlusToken | MinusToken;\n readonly typeParameter: TypeParameterDeclaration;\n readonly nameType?: TypeNode;\n readonly questionToken?: QuestionToken | PlusToken | MinusToken;\n readonly type?: TypeNode;\n /** Used only to produce grammar errors */\n readonly members?: NodeArray<TypeElement>;\n }\n interface LiteralTypeNode extends TypeNode {\n readonly kind: SyntaxKind.LiteralType;\n readonly literal: NullLiteral | BooleanLiteral | LiteralExpression | PrefixUnaryExpression;\n }\n interface StringLiteral extends LiteralExpression, Declaration {\n readonly kind: SyntaxKind.StringLiteral;\n }\n type StringLiteralLike = StringLiteral | NoSubstitutionTemplateLiteral;\n type PropertyNameLiteral = Identifier | StringLiteralLike | NumericLiteral | JsxNamespacedName | BigIntLiteral;\n interface TemplateLiteralTypeNode extends TypeNode {\n kind: SyntaxKind.TemplateLiteralType;\n readonly head: TemplateHead;\n readonly templateSpans: NodeArray<TemplateLiteralTypeSpan>;\n }\n interface TemplateLiteralTypeSpan extends TypeNode {\n readonly kind: SyntaxKind.TemplateLiteralTypeSpan;\n readonly parent: TemplateLiteralTypeNode;\n readonly type: TypeNode;\n readonly literal: TemplateMiddle | TemplateTail;\n }\n interface Expression extends Node {\n _expressionBrand: any;\n }\n interface OmittedExpression extends Expression {\n readonly kind: SyntaxKind.OmittedExpression;\n }\n interface PartiallyEmittedExpression extends LeftHandSideExpression {\n readonly kind: SyntaxKind.PartiallyEmittedExpression;\n readonly expression: Expression;\n }\n interface UnaryExpression extends Expression {\n _unaryExpressionBrand: any;\n }\n /** Deprecated, please use UpdateExpression */\n type IncrementExpression = UpdateExpression;\n interface UpdateExpression extends UnaryExpression {\n _updateExpressionBrand: any;\n }\n type PrefixUnaryOperator = SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken | SyntaxKind.PlusToken | SyntaxKind.MinusToken | SyntaxKind.TildeToken | SyntaxKind.ExclamationToken;\n interface PrefixUnaryExpression extends UpdateExpression {\n readonly kind: SyntaxKind.PrefixUnaryExpression;\n readonly operator: PrefixUnaryOperator;\n readonly operand: UnaryExpression;\n }\n type PostfixUnaryOperator = SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken;\n interface PostfixUnaryExpression extends UpdateExpression {\n readonly kind: SyntaxKind.PostfixUnaryExpression;\n readonly operand: LeftHandSideExpression;\n readonly operator: PostfixUnaryOperator;\n }\n interface LeftHandSideExpression extends UpdateExpression {\n _leftHandSideExpressionBrand: any;\n }\n interface MemberExpression extends LeftHandSideExpression {\n _memberExpressionBrand: any;\n }\n interface PrimaryExpression extends MemberExpression {\n _primaryExpressionBrand: any;\n }\n interface NullLiteral extends PrimaryExpression {\n readonly kind: SyntaxKind.NullKeyword;\n }\n interface TrueLiteral extends PrimaryExpression {\n readonly kind: SyntaxKind.TrueKeyword;\n }\n interface FalseLiteral extends PrimaryExpression {\n readonly kind: SyntaxKind.FalseKeyword;\n }\n type BooleanLiteral = TrueLiteral | FalseLiteral;\n interface ThisExpression extends PrimaryExpression, FlowContainer {\n readonly kind: SyntaxKind.ThisKeyword;\n }\n interface SuperExpression extends PrimaryExpression, FlowContainer {\n readonly kind: SyntaxKind.SuperKeyword;\n }\n interface ImportExpression extends PrimaryExpression {\n readonly kind: SyntaxKind.ImportKeyword;\n }\n interface DeleteExpression extends UnaryExpression {\n readonly kind: SyntaxKind.DeleteExpression;\n readonly expression: UnaryExpression;\n }\n interface TypeOfExpression extends UnaryExpression {\n readonly kind: SyntaxKind.TypeOfExpression;\n readonly expression: UnaryExpression;\n }\n interface VoidExpression extends UnaryExpression {\n readonly kind: SyntaxKind.VoidExpression;\n readonly expression: UnaryExpression;\n }\n interface AwaitExpression extends UnaryExpression {\n readonly kind: SyntaxKind.AwaitExpression;\n readonly expression: UnaryExpression;\n }\n interface YieldExpression extends Expression {\n readonly kind: SyntaxKind.YieldExpression;\n readonly asteriskToken?: AsteriskToken;\n readonly expression?: Expression;\n }\n interface SyntheticExpression extends Expression {\n readonly kind: SyntaxKind.SyntheticExpression;\n readonly isSpread: boolean;\n readonly type: Type;\n readonly tupleNameSource?: ParameterDeclaration | NamedTupleMember;\n }\n type ExponentiationOperator = SyntaxKind.AsteriskAsteriskToken;\n type MultiplicativeOperator = SyntaxKind.AsteriskToken | SyntaxKind.SlashToken | SyntaxKind.PercentToken;\n type MultiplicativeOperatorOrHigher = ExponentiationOperator | MultiplicativeOperator;\n type AdditiveOperator = SyntaxKind.PlusToken | SyntaxKind.MinusToken;\n type AdditiveOperatorOrHigher = MultiplicativeOperatorOrHigher | AdditiveOperator;\n type ShiftOperator = SyntaxKind.LessThanLessThanToken | SyntaxKind.GreaterThanGreaterThanToken | SyntaxKind.GreaterThanGreaterThanGreaterThanToken;\n type ShiftOperatorOrHigher = AdditiveOperatorOrHigher | ShiftOperator;\n type RelationalOperator = SyntaxKind.LessThanToken | SyntaxKind.LessThanEqualsToken | SyntaxKind.GreaterThanToken | SyntaxKind.GreaterThanEqualsToken | SyntaxKind.InstanceOfKeyword | SyntaxKind.InKeyword;\n type RelationalOperatorOrHigher = ShiftOperatorOrHigher | RelationalOperator;\n type EqualityOperator = SyntaxKind.EqualsEqualsToken | SyntaxKind.EqualsEqualsEqualsToken | SyntaxKind.ExclamationEqualsEqualsToken | SyntaxKind.ExclamationEqualsToken;\n type EqualityOperatorOrHigher = RelationalOperatorOrHigher | EqualityOperator;\n type BitwiseOperator = SyntaxKind.AmpersandToken | SyntaxKind.BarToken | SyntaxKind.CaretToken;\n type BitwiseOperatorOrHigher = EqualityOperatorOrHigher | BitwiseOperator;\n type LogicalOperator = SyntaxKind.AmpersandAmpersandToken | SyntaxKind.BarBarToken;\n type LogicalOperatorOrHigher = BitwiseOperatorOrHigher | LogicalOperator;\n type CompoundAssignmentOperator = SyntaxKind.PlusEqualsToken | SyntaxKind.MinusEqualsToken | SyntaxKind.AsteriskAsteriskEqualsToken | SyntaxKind.AsteriskEqualsToken | SyntaxKind.SlashEqualsToken | SyntaxKind.PercentEqualsToken | SyntaxKind.AmpersandEqualsToken | SyntaxKind.BarEqualsToken | SyntaxKind.CaretEqualsToken | SyntaxKind.LessThanLessThanEqualsToken | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken | SyntaxKind.GreaterThanGreaterThanEqualsToken | SyntaxKind.BarBarEqualsToken | SyntaxKind.AmpersandAmpersandEqualsToken | SyntaxKind.QuestionQuestionEqualsToken;\n type AssignmentOperator = SyntaxKind.EqualsToken | CompoundAssignmentOperator;\n type AssignmentOperatorOrHigher = SyntaxKind.QuestionQuestionToken | LogicalOperatorOrHigher | AssignmentOperator;\n type BinaryOperator = AssignmentOperatorOrHigher | SyntaxKind.CommaToken;\n type LogicalOrCoalescingAssignmentOperator = SyntaxKind.AmpersandAmpersandEqualsToken | SyntaxKind.BarBarEqualsToken | SyntaxKind.QuestionQuestionEqualsToken;\n type BinaryOperatorToken = Token<BinaryOperator>;\n interface BinaryExpression extends Expression, Declaration, JSDocContainer {\n readonly kind: SyntaxKind.BinaryExpression;\n readonly left: Expression;\n readonly operatorToken: BinaryOperatorToken;\n readonly right: Expression;\n }\n type AssignmentOperatorToken = Token<AssignmentOperator>;\n interface AssignmentExpression<TOperator extends AssignmentOperatorToken> extends BinaryExpression {\n readonly left: LeftHandSideExpression;\n readonly operatorToken: TOperator;\n }\n interface ObjectDestructuringAssignment extends AssignmentExpression<EqualsToken> {\n readonly left: ObjectLiteralExpression;\n }\n interface ArrayDestructuringAssignment extends AssignmentExpression<EqualsToken> {\n readonly left: ArrayLiteralExpression;\n }\n type DestructuringAssignment = ObjectDestructuringAssignment | ArrayDestructuringAssignment;\n type BindingOrAssignmentElement = VariableDeclaration | ParameterDeclaration | ObjectBindingOrAssignmentElement | ArrayBindingOrAssignmentElement;\n type ObjectBindingOrAssignmentElement = BindingElement | PropertyAssignment | ShorthandPropertyAssignment | SpreadAssignment;\n type ArrayBindingOrAssignmentElement = BindingElement | OmittedExpression | SpreadElement | ArrayLiteralExpression | ObjectLiteralExpression | AssignmentExpression<EqualsToken> | Identifier | PropertyAccessExpression | ElementAccessExpression;\n type BindingOrAssignmentElementRestIndicator = DotDotDotToken | SpreadElement | SpreadAssignment;\n type BindingOrAssignmentElementTarget = BindingOrAssignmentPattern | Identifier | PropertyAccessExpression | ElementAccessExpression | OmittedExpression;\n type ObjectBindingOrAssignmentPattern = ObjectBindingPattern | ObjectLiteralExpression;\n type ArrayBindingOrAssignmentPattern = ArrayBindingPattern | ArrayLiteralExpression;\n type AssignmentPattern = ObjectLiteralExpression | ArrayLiteralExpression;\n type BindingOrAssignmentPattern = ObjectBindingOrAssignmentPattern | ArrayBindingOrAssignmentPattern;\n interface ConditionalExpression extends Expression {\n readonly kind: SyntaxKind.ConditionalExpression;\n readonly condition: Expression;\n readonly questionToken: QuestionToken;\n readonly whenTrue: Expression;\n readonly colonToken: ColonToken;\n readonly whenFalse: Expression;\n }\n type FunctionBody = Block;\n type ConciseBody = FunctionBody | Expression;\n interface FunctionExpression extends PrimaryExpression, FunctionLikeDeclarationBase, JSDocContainer, LocalsContainer, FlowContainer {\n readonly kind: SyntaxKind.FunctionExpression;\n readonly modifiers?: NodeArray<Modifier>;\n readonly name?: Identifier;\n readonly body: FunctionBody;\n }\n interface ArrowFunction extends Expression, FunctionLikeDeclarationBase, JSDocContainer, LocalsContainer, FlowContainer {\n readonly kind: SyntaxKind.ArrowFunction;\n readonly modifiers?: NodeArray<Modifier>;\n readonly equalsGreaterThanToken: EqualsGreaterThanToken;\n readonly body: ConciseBody;\n readonly name: never;\n }\n interface LiteralLikeNode extends Node {\n text: string;\n isUnterminated?: boolean;\n hasExtendedUnicodeEscape?: boolean;\n }\n interface TemplateLiteralLikeNode extends LiteralLikeNode {\n rawText?: string;\n }\n interface LiteralExpression extends LiteralLikeNode, PrimaryExpression {\n _literalExpressionBrand: any;\n }\n interface RegularExpressionLiteral extends LiteralExpression {\n readonly kind: SyntaxKind.RegularExpressionLiteral;\n }\n interface NoSubstitutionTemplateLiteral extends LiteralExpression, TemplateLiteralLikeNode, Declaration {\n readonly kind: SyntaxKind.NoSubstitutionTemplateLiteral;\n }\n enum TokenFlags {\n None = 0,\n Scientific = 16,\n Octal = 32,\n HexSpecifier = 64,\n BinarySpecifier = 128,\n OctalSpecifier = 256,\n }\n interface NumericLiteral extends LiteralExpression, Declaration {\n readonly kind: SyntaxKind.NumericLiteral;\n }\n interface BigIntLiteral extends LiteralExpression {\n readonly kind: SyntaxKind.BigIntLiteral;\n }\n type LiteralToken = NumericLiteral | BigIntLiteral | StringLiteral | JsxText | RegularExpressionLiteral | NoSubstitutionTemplateLiteral;\n interface TemplateHead extends TemplateLiteralLikeNode {\n readonly kind: SyntaxKind.TemplateHead;\n readonly parent: TemplateExpression | TemplateLiteralTypeNode;\n }\n interface TemplateMiddle extends TemplateLiteralLikeNode {\n readonly kind: SyntaxKind.TemplateMiddle;\n readonly parent: TemplateSpan | TemplateLiteralTypeSpan;\n }\n interface TemplateTail extends TemplateLiteralLikeNode {\n readonly kind: SyntaxKind.TemplateTail;\n readonly parent: TemplateSpan | TemplateLiteralTypeSpan;\n }\n type PseudoLiteralToken = TemplateHead | TemplateMiddle | TemplateTail;\n type TemplateLiteralToken = NoSubstitutionTemplateLiteral | PseudoLiteralToken;\n interface TemplateExpression extends PrimaryExpression {\n readonly kind: SyntaxKind.TemplateExpression;\n readonly head: TemplateHead;\n readonly templateSpans: NodeArray<TemplateSpan>;\n }\n type TemplateLiteral = TemplateExpression | NoSubstitutionTemplateLiteral;\n interface TemplateSpan extends Node {\n readonly kind: SyntaxKind.TemplateSpan;\n readonly parent: TemplateExpression;\n readonly expression: Expression;\n readonly literal: TemplateMiddle | TemplateTail;\n }\n interface ParenthesizedExpression extends PrimaryExpression, JSDocContainer {\n readonly kind: SyntaxKind.ParenthesizedExpression;\n readonly expression: Expression;\n }\n interface ArrayLiteralExpression extends PrimaryExpression {\n readonly kind: SyntaxKind.ArrayLiteralExpression;\n readonly elements: NodeArray<Expression>;\n }\n interface SpreadElement extends Expression {\n readonly kind: SyntaxKind.SpreadElement;\n readonly parent: ArrayLiteralExpression | CallExpression | NewExpression;\n readonly expression: Expression;\n }\n /**\n * This interface is a base interface for ObjectLiteralExpression and JSXAttributes to extend from. JSXAttributes is similar to\n * ObjectLiteralExpression in that it contains array of properties; however, JSXAttributes' properties can only be\n * JSXAttribute or JSXSpreadAttribute. ObjectLiteralExpression, on the other hand, can only have properties of type\n * ObjectLiteralElement (e.g. PropertyAssignment, ShorthandPropertyAssignment etc.)\n */\n interface ObjectLiteralExpressionBase<T extends ObjectLiteralElement> extends PrimaryExpression, Declaration {\n readonly properties: NodeArray<T>;\n }\n interface ObjectLiteralExpression extends ObjectLiteralExpressionBase<ObjectLiteralElementLike>, JSDocContainer {\n readonly kind: SyntaxKind.ObjectLiteralExpression;\n }\n type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression;\n type EntityNameOrEntityNameExpression = EntityName | EntityNameExpression;\n type AccessExpression = PropertyAccessExpression | ElementAccessExpression;\n interface PropertyAccessExpression extends MemberExpression, NamedDeclaration, JSDocContainer, FlowContainer {\n readonly kind: SyntaxKind.PropertyAccessExpression;\n readonly expression: LeftHandSideExpression;\n readonly questionDotToken?: QuestionDotToken;\n readonly name: MemberName;\n }\n interface PropertyAccessChain extends PropertyAccessExpression {\n _optionalChainBrand: any;\n readonly name: MemberName;\n }\n interface SuperPropertyAccessExpression extends PropertyAccessExpression {\n readonly expression: SuperExpression;\n }\n /** Brand for a PropertyAccessExpression which, like a QualifiedName, consists of a sequence of identifiers separated by dots. */\n interface PropertyAccessEntityNameExpression extends PropertyAccessExpression {\n _propertyAccessExpressionLikeQualifiedNameBrand?: any;\n readonly expression: EntityNameExpression;\n readonly name: Identifier;\n }\n interface ElementAccessExpression extends MemberExpression, Declaration, JSDocContainer, FlowContainer {\n readonly kind: SyntaxKind.ElementAccessExpression;\n readonly expression: LeftHandSideExpression;\n readonly questionDotToken?: QuestionDotToken;\n readonly argumentExpression: Expression;\n }\n interface ElementAccessChain extends ElementAccessExpression {\n _optionalChainBrand: any;\n }\n interface SuperElementAccessExpression extends ElementAccessExpression {\n readonly expression: SuperExpression;\n }\n type SuperProperty = SuperPropertyAccessExpression | SuperElementAccessExpression;\n interface CallExpression extends LeftHandSideExpression, Declaration {\n readonly kind: SyntaxKind.CallExpression;\n readonly expression: LeftHandSideExpression;\n readonly questionDotToken?: QuestionDotToken;\n readonly typeArguments?: NodeArray<TypeNode>;\n readonly arguments: NodeArray<Expression>;\n }\n interface CallChain extends CallExpression {\n _optionalChainBrand: any;\n }\n type OptionalChain = PropertyAccessChain | ElementAccessChain | CallChain | NonNullChain;\n interface SuperCall extends CallExpression {\n readonly expression: SuperExpression;\n }\n interface ImportCall extends CallExpression {\n readonly expression: ImportExpression;\n }\n interface ExpressionWithTypeArguments extends MemberExpression, NodeWithTypeArguments {\n readonly kind: SyntaxKind.ExpressionWithTypeArguments;\n readonly expression: LeftHandSideExpression;\n }\n interface NewExpression extends PrimaryExpression, Declaration {\n readonly kind: SyntaxKind.NewExpression;\n readonly expression: LeftHandSideExpression;\n readonly typeArguments?: NodeArray<TypeNode>;\n readonly arguments?: NodeArray<Expression>;\n }\n interface TaggedTemplateExpression extends MemberExpression {\n readonly kind: SyntaxKind.TaggedTemplateExpression;\n readonly tag: LeftHandSideExpression;\n readonly typeArguments?: NodeArray<TypeNode>;\n readonly template: TemplateLiteral;\n }\n interface InstanceofExpression extends BinaryExpression {\n readonly operatorToken: Token<SyntaxKind.InstanceOfKeyword>;\n }\n type CallLikeExpression = CallExpression | NewExpression | TaggedTemplateExpression | Decorator | JsxCallLike | InstanceofExpression;\n interface AsExpression extends Expression {\n readonly kind: SyntaxKind.AsExpression;\n readonly expression: Expression;\n readonly type: TypeNode;\n }\n interface TypeAssertion extends UnaryExpression {\n readonly kind: SyntaxKind.TypeAssertionExpression;\n readonly type: TypeNode;\n readonly expression: UnaryExpression;\n }\n interface SatisfiesExpression extends Expression {\n readonly kind: SyntaxKind.SatisfiesExpression;\n readonly expression: Expression;\n readonly type: TypeNode;\n }\n type AssertionExpression = TypeAssertion | AsExpression;\n interface NonNullExpression extends LeftHandSideExpression {\n readonly kind: SyntaxKind.NonNullExpression;\n readonly expression: Expression;\n }\n interface NonNullChain extends NonNullExpression {\n _optionalChainBrand: any;\n }\n interface MetaProperty extends PrimaryExpression, FlowContainer {\n readonly kind: SyntaxKind.MetaProperty;\n readonly keywordToken: SyntaxKind.NewKeyword | SyntaxKind.ImportKeyword;\n readonly name: Identifier;\n }\n interface JsxElement extends PrimaryExpression {\n readonly kind: SyntaxKind.JsxElement;\n readonly openingElement: JsxOpeningElement;\n readonly children: NodeArray<JsxChild>;\n readonly closingElement: JsxClosingElement;\n }\n type JsxOpeningLikeElement = JsxSelfClosingElement | JsxOpeningElement;\n type JsxCallLike = JsxOpeningLikeElement | JsxOpeningFragment;\n type JsxAttributeLike = JsxAttribute | JsxSpreadAttribute;\n type JsxAttributeName = Identifier | JsxNamespacedName;\n type JsxTagNameExpression = Identifier | ThisExpression | JsxTagNamePropertyAccess | JsxNamespacedName;\n interface JsxTagNamePropertyAccess extends PropertyAccessExpression {\n readonly expression: Identifier | ThisExpression | JsxTagNamePropertyAccess;\n }\n interface JsxAttributes extends PrimaryExpression, Declaration {\n readonly properties: NodeArray<JsxAttributeLike>;\n readonly kind: SyntaxKind.JsxAttributes;\n readonly parent: JsxOpeningLikeElement;\n }\n interface JsxNamespacedName extends Node {\n readonly kind: SyntaxKind.JsxNamespacedName;\n readonly name: Identifier;\n readonly namespace: Identifier;\n }\n interface JsxOpeningElement extends Expression {\n readonly kind: SyntaxKind.JsxOpeningElement;\n readonly parent: JsxElement;\n readonly tagName: JsxTagNameExpression;\n readonly typeArguments?: NodeArray<TypeNode>;\n readonly attributes: JsxAttributes;\n }\n interface JsxSelfClosingElement extends PrimaryExpression {\n readonly kind: SyntaxKind.JsxSelfClosingElement;\n readonly tagName: JsxTagNameExpression;\n readonly typeArguments?: NodeArray<TypeNode>;\n readonly attributes: JsxAttributes;\n }\n interface JsxFragment extends PrimaryExpression {\n readonly kind: SyntaxKind.JsxFragment;\n readonly openingFragment: JsxOpeningFragment;\n readonly children: NodeArray<JsxChild>;\n readonly closingFragment: JsxClosingFragment;\n }\n interface JsxOpeningFragment extends Expression {\n readonly kind: SyntaxKind.JsxOpeningFragment;\n readonly parent: JsxFragment;\n }\n interface JsxClosingFragment extends Expression {\n readonly kind: SyntaxKind.JsxClosingFragment;\n readonly parent: JsxFragment;\n }\n interface JsxAttribute extends Declaration {\n readonly kind: SyntaxKind.JsxAttribute;\n readonly parent: JsxAttributes;\n readonly name: JsxAttributeName;\n readonly initializer?: JsxAttributeValue;\n }\n type JsxAttributeValue = StringLiteral | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment;\n interface JsxSpreadAttribute extends ObjectLiteralElement {\n readonly kind: SyntaxKind.JsxSpreadAttribute;\n readonly parent: JsxAttributes;\n readonly expression: Expression;\n }\n interface JsxClosingElement extends Node {\n readonly kind: SyntaxKind.JsxClosingElement;\n readonly parent: JsxElement;\n readonly tagName: JsxTagNameExpression;\n }\n interface JsxExpression extends Expression {\n readonly kind: SyntaxKind.JsxExpression;\n readonly parent: JsxElement | JsxFragment | JsxAttributeLike;\n readonly dotDotDotToken?: Token<SyntaxKind.DotDotDotToken>;\n readonly expression?: Expression;\n }\n interface JsxText extends LiteralLikeNode {\n readonly kind: SyntaxKind.JsxText;\n readonly parent: JsxElement | JsxFragment;\n readonly containsOnlyTriviaWhiteSpaces: boolean;\n }\n type JsxChild = JsxText | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment;\n interface Statement extends Node, JSDocContainer {\n _statementBrand: any;\n }\n interface NotEmittedStatement extends Statement {\n readonly kind: SyntaxKind.NotEmittedStatement;\n }\n interface NotEmittedTypeElement extends TypeElement {\n readonly kind: SyntaxKind.NotEmittedTypeElement;\n }\n /**\n * A list of comma-separated expressions. This node is only created by transformations.\n */\n interface CommaListExpression extends Expression {\n readonly kind: SyntaxKind.CommaListExpression;\n readonly elements: NodeArray<Expression>;\n }\n interface EmptyStatement extends Statement {\n readonly kind: SyntaxKind.EmptyStatement;\n }\n interface DebuggerStatement extends Statement, FlowContainer {\n readonly kind: SyntaxKind.DebuggerStatement;\n }\n interface MissingDeclaration extends DeclarationStatement, PrimaryExpression {\n readonly kind: SyntaxKind.MissingDeclaration;\n readonly name?: Identifier;\n }\n type BlockLike = SourceFile | Block | ModuleBlock | CaseOrDefaultClause;\n interface Block extends Statement, LocalsContainer {\n readonly kind: SyntaxKind.Block;\n readonly statements: NodeArray<Statement>;\n }\n interface VariableStatement extends Statement, FlowContainer {\n readonly kind: SyntaxKind.VariableStatement;\n readonly modifiers?: NodeArray<ModifierLike>;\n readonly declarationList: VariableDeclarationList;\n }\n interface ExpressionStatement extends Statement, FlowContainer {\n readonly kind: SyntaxKind.ExpressionStatement;\n readonly expression: Expression;\n }\n interface IfStatement extends Statement, FlowContainer {\n readonly kind: SyntaxKind.IfStatement;\n readonly expression: Expression;\n readonly thenStatement: Statement;\n readonly elseStatement?: Statement;\n }\n interface IterationStatement extends Statement {\n readonly statement: Statement;\n }\n interface DoStatement extends IterationStatement, FlowContainer {\n readonly kind: SyntaxKind.DoStatement;\n readonly expression: Expression;\n }\n interface WhileStatement extends IterationStatement, FlowContainer {\n readonly kind: SyntaxKind.WhileStatement;\n readonly expression: Expression;\n }\n type ForInitializer = VariableDeclarationList | Expression;\n interface ForStatement extends IterationStatement, LocalsContainer, FlowContainer {\n readonly kind: SyntaxKind.ForStatement;\n readonly initializer?: ForInitializer;\n readonly condition?: Expression;\n readonly incrementor?: Expression;\n }\n type ForInOrOfStatement = ForInStatement | ForOfStatement;\n interface ForInStatement extends IterationStatement, LocalsContainer, FlowContainer {\n readonly kind: SyntaxKind.ForInStatement;\n readonly initializer: ForInitializer;\n readonly expression: Expression;\n }\n interface ForOfStatement extends IterationStatement, LocalsContainer, FlowContainer {\n readonly kind: SyntaxKind.ForOfStatement;\n readonly awaitModifier?: AwaitKeyword;\n readonly initializer: ForInitializer;\n readonly expression: Expression;\n }\n interface BreakStatement extends Statement, FlowContainer {\n readonly kind: SyntaxKind.BreakStatement;\n readonly label?: Identifier;\n }\n interface ContinueStatement extends Statement, FlowContainer {\n readonly kind: SyntaxKind.ContinueStatement;\n readonly label?: Identifier;\n }\n type BreakOrContinueStatement = BreakStatement | ContinueStatement;\n interface ReturnStatement extends Statement, FlowContainer {\n readonly kind: SyntaxKind.ReturnStatement;\n readonly expression?: Expression;\n }\n interface WithStatement extends Statement, FlowContainer {\n readonly kind: SyntaxKind.WithStatement;\n readonly expression: Expression;\n readonly statement: Statement;\n }\n interface SwitchStatement extends Statement, FlowContainer {\n readonly kind: SyntaxKind.SwitchStatement;\n readonly expression: Expression;\n readonly caseBlock: CaseBlock;\n possiblyExhaustive?: boolean;\n }\n interface CaseBlock extends Node, LocalsContainer {\n readonly kind: SyntaxKind.CaseBlock;\n readonly parent: SwitchStatement;\n readonly clauses: NodeArray<CaseOrDefaultClause>;\n }\n interface CaseClause extends Node, JSDocContainer {\n readonly kind: SyntaxKind.CaseClause;\n readonly parent: CaseBlock;\n readonly expression: Expression;\n readonly statements: NodeArray<Statement>;\n }\n interface DefaultClause extends Node {\n readonly kind: SyntaxKind.DefaultClause;\n readonly parent: CaseBlock;\n readonly statements: NodeArray<Statement>;\n }\n type CaseOrDefaultClause = CaseClause | DefaultClause;\n interface LabeledStatement extends Statement, FlowContainer {\n readonly kind: SyntaxKind.LabeledStatement;\n readonly label: Identifier;\n readonly statement: Statement;\n }\n interface ThrowStatement extends Statement, FlowContainer {\n readonly kind: SyntaxKind.ThrowStatement;\n readonly expression: Expression;\n }\n interface TryStatement extends Statement, FlowContainer {\n readonly kind: SyntaxKind.TryStatement;\n readonly tryBlock: Block;\n readonly catchClause?: CatchClause;\n readonly finallyBlock?: Block;\n }\n interface CatchClause extends Node, LocalsContainer {\n readonly kind: SyntaxKind.CatchClause;\n readonly parent: TryStatement;\n readonly variableDeclaration?: VariableDeclaration;\n readonly block: Block;\n }\n type ObjectTypeDeclaration = ClassLikeDeclaration | InterfaceDeclaration | TypeLiteralNode;\n type DeclarationWithTypeParameters = DeclarationWithTypeParameterChildren | JSDocTypedefTag | JSDocCallbackTag | JSDocSignature;\n type DeclarationWithTypeParameterChildren = SignatureDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration | JSDocTemplateTag;\n interface ClassLikeDeclarationBase extends NamedDeclaration, JSDocContainer {\n readonly kind: SyntaxKind.ClassDeclaration | SyntaxKind.ClassExpression;\n readonly name?: Identifier;\n readonly typeParameters?: NodeArray<TypeParameterDeclaration>;\n readonly heritageClauses?: NodeArray<HeritageClause>;\n readonly members: NodeArray<ClassElement>;\n }\n interface ClassDeclaration extends ClassLikeDeclarationBase, DeclarationStatement {\n readonly kind: SyntaxKind.ClassDeclaration;\n readonly modifiers?: NodeArray<ModifierLike>;\n /** May be undefined in `export default class { ... }`. */\n readonly name?: Identifier;\n }\n interface ClassExpression extends ClassLikeDeclarationBase, PrimaryExpression {\n readonly kind: SyntaxKind.ClassExpression;\n readonly modifiers?: NodeArray<ModifierLike>;\n }\n type ClassLikeDeclaration = ClassDeclaration | ClassExpression;\n interface ClassElement extends NamedDeclaration {\n _classElementBrand: any;\n readonly name?: PropertyName;\n }\n interface TypeElement extends NamedDeclaration {\n _typeElementBrand: any;\n readonly name?: PropertyName;\n readonly questionToken?: QuestionToken | undefined;\n }\n interface InterfaceDeclaration extends DeclarationStatement, JSDocContainer {\n readonly kind: SyntaxKind.InterfaceDeclaration;\n readonly modifiers?: NodeArray<ModifierLike>;\n readonly name: Identifier;\n readonly typeParameters?: NodeArray<TypeParameterDeclaration>;\n readonly heritageClauses?: NodeArray<HeritageClause>;\n readonly members: NodeArray<TypeElement>;\n }\n interface HeritageClause extends Node {\n readonly kind: SyntaxKind.HeritageClause;\n readonly parent: InterfaceDeclaration | ClassLikeDeclaration;\n readonly token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword;\n readonly types: NodeArray<ExpressionWithTypeArguments>;\n }\n interface TypeAliasDeclaration extends DeclarationStatement, JSDocContainer, LocalsContainer {\n readonly kind: SyntaxKind.TypeAliasDeclaration;\n readonly modifiers?: NodeArray<ModifierLike>;\n readonly name: Identifier;\n readonly typeParameters?: NodeArray<TypeParameterDeclaration>;\n readonly type: TypeNode;\n }\n interface EnumMember extends NamedDeclaration, JSDocContainer {\n readonly kind: SyntaxKind.EnumMember;\n readonly parent: EnumDeclaration;\n readonly name: PropertyName;\n readonly initializer?: Expression;\n }\n interface EnumDeclaration extends DeclarationStatement, JSDocContainer {\n readonly kind: SyntaxKind.EnumDeclaration;\n readonly modifiers?: NodeArray<ModifierLike>;\n readonly name: Identifier;\n readonly members: NodeArray<EnumMember>;\n }\n type ModuleName = Identifier | StringLiteral;\n type ModuleBody = NamespaceBody | JSDocNamespaceBody;\n interface ModuleDeclaration extends DeclarationStatement, JSDocContainer, LocalsContainer {\n readonly kind: SyntaxKind.ModuleDeclaration;\n readonly parent: ModuleBody | SourceFile;\n readonly modifiers?: NodeArray<ModifierLike>;\n readonly name: ModuleName;\n readonly body?: ModuleBody | JSDocNamespaceDeclaration;\n }\n type NamespaceBody = ModuleBlock | NamespaceDeclaration;\n interface NamespaceDeclaration extends ModuleDeclaration {\n readonly name: Identifier;\n readonly body: NamespaceBody;\n }\n type JSDocNamespaceBody = Identifier | JSDocNamespaceDeclaration;\n interface JSDocNamespaceDeclaration extends ModuleDeclaration {\n readonly name: Identifier;\n readonly body?: JSDocNamespaceBody;\n }\n interface ModuleBlock extends Node, Statement {\n readonly kind: SyntaxKind.ModuleBlock;\n readonly parent: ModuleDeclaration;\n readonly statements: NodeArray<Statement>;\n }\n type ModuleReference = EntityName | ExternalModuleReference;\n /**\n * One of:\n * - import x = require(\"mod\");\n * - import x = M.x;\n */\n interface ImportEqualsDeclaration extends DeclarationStatement, JSDocContainer {\n readonly kind: SyntaxKind.ImportEqualsDeclaration;\n readonly parent: SourceFile | ModuleBlock;\n readonly modifiers?: NodeArray<ModifierLike>;\n readonly name: Identifier;\n readonly isTypeOnly: boolean;\n readonly moduleReference: ModuleReference;\n }\n interface ExternalModuleReference extends Node {\n readonly kind: SyntaxKind.ExternalModuleReference;\n readonly parent: ImportEqualsDeclaration;\n readonly expression: Expression;\n }\n interface ImportDeclaration extends Statement {\n readonly kind: SyntaxKind.ImportDeclaration;\n readonly parent: SourceFile | ModuleBlock;\n readonly modifiers?: NodeArray<ModifierLike>;\n readonly importClause?: ImportClause;\n /** If this is not a StringLiteral it will be a grammar error. */\n readonly moduleSpecifier: Expression;\n /** @deprecated */ readonly assertClause?: AssertClause;\n readonly attributes?: ImportAttributes;\n }\n type NamedImportBindings = NamespaceImport | NamedImports;\n type NamedExportBindings = NamespaceExport | NamedExports;\n interface ImportClause extends NamedDeclaration {\n readonly kind: SyntaxKind.ImportClause;\n readonly parent: ImportDeclaration | JSDocImportTag;\n readonly isTypeOnly: boolean;\n readonly name?: Identifier;\n readonly namedBindings?: NamedImportBindings;\n }\n /** @deprecated */\n type AssertionKey = ImportAttributeName;\n /** @deprecated */\n interface AssertEntry extends ImportAttribute {\n }\n /** @deprecated */\n interface AssertClause extends ImportAttributes {\n }\n type ImportAttributeName = Identifier | StringLiteral;\n interface ImportAttribute extends Node {\n readonly kind: SyntaxKind.ImportAttribute;\n readonly parent: ImportAttributes;\n readonly name: ImportAttributeName;\n readonly value: Expression;\n }\n interface ImportAttributes extends Node {\n readonly token: SyntaxKind.WithKeyword | SyntaxKind.AssertKeyword;\n readonly kind: SyntaxKind.ImportAttributes;\n readonly parent: ImportDeclaration | ExportDeclaration;\n readonly elements: NodeArray<ImportAttribute>;\n readonly multiLine?: boolean;\n }\n interface NamespaceImport extends NamedDeclaration {\n readonly kind: SyntaxKind.NamespaceImport;\n readonly parent: ImportClause;\n readonly name: Identifier;\n }\n interface NamespaceExport extends NamedDeclaration {\n readonly kind: SyntaxKind.NamespaceExport;\n readonly parent: ExportDeclaration;\n readonly name: ModuleExportName;\n }\n interface NamespaceExportDeclaration extends DeclarationStatement, JSDocContainer {\n readonly kind: SyntaxKind.NamespaceExportDeclaration;\n readonly name: Identifier;\n }\n interface ExportDeclaration extends DeclarationStatement, JSDocContainer {\n readonly kind: SyntaxKind.ExportDeclaration;\n readonly parent: SourceFile | ModuleBlock;\n readonly modifiers?: NodeArray<ModifierLike>;\n readonly isTypeOnly: boolean;\n /** Will not be assigned in the case of `export * from \"foo\";` */\n readonly exportClause?: NamedExportBindings;\n /** If this is not a StringLiteral it will be a grammar error. */\n readonly moduleSpecifier?: Expression;\n /** @deprecated */ readonly assertClause?: AssertClause;\n readonly attributes?: ImportAttributes;\n }\n interface NamedImports extends Node {\n readonly kind: SyntaxKind.NamedImports;\n readonly parent: ImportClause;\n readonly elements: NodeArray<ImportSpecifier>;\n }\n interface NamedExports extends Node {\n readonly kind: SyntaxKind.NamedExports;\n readonly parent: ExportDeclaration;\n readonly elements: NodeArray<ExportSpecifier>;\n }\n type NamedImportsOrExports = NamedImports | NamedExports;\n interface ImportSpecifier extends NamedDeclaration {\n readonly kind: SyntaxKind.ImportSpecifier;\n readonly parent: NamedImports;\n readonly propertyName?: ModuleExportName;\n readonly name: Identifier;\n readonly isTypeOnly: boolean;\n }\n interface ExportSpecifier extends NamedDeclaration, JSDocContainer {\n readonly kind: SyntaxKind.ExportSpecifier;\n readonly parent: NamedExports;\n readonly isTypeOnly: boolean;\n readonly propertyName?: ModuleExportName;\n readonly name: ModuleExportName;\n }\n type ModuleExportName = Identifier | StringLiteral;\n type ImportOrExportSpecifier = ImportSpecifier | ExportSpecifier;\n type TypeOnlyCompatibleAliasDeclaration = ImportClause | ImportEqualsDeclaration | NamespaceImport | ImportOrExportSpecifier | ExportDeclaration | NamespaceExport;\n type TypeOnlyImportDeclaration =\n | ImportClause & {\n readonly isTypeOnly: true;\n readonly name: Identifier;\n }\n | ImportEqualsDeclaration & {\n readonly isTypeOnly: true;\n }\n | NamespaceImport & {\n readonly parent: ImportClause & {\n readonly isTypeOnly: true;\n };\n }\n | ImportSpecifier\n & ({\n readonly isTypeOnly: true;\n } | {\n readonly parent: NamedImports & {\n readonly parent: ImportClause & {\n readonly isTypeOnly: true;\n };\n };\n });\n type TypeOnlyExportDeclaration =\n | ExportSpecifier\n & ({\n readonly isTypeOnly: true;\n } | {\n readonly parent: NamedExports & {\n readonly parent: ExportDeclaration & {\n readonly isTypeOnly: true;\n };\n };\n })\n | ExportDeclaration & {\n readonly isTypeOnly: true;\n readonly moduleSpecifier: Expression;\n }\n | NamespaceExport & {\n readonly parent: ExportDeclaration & {\n readonly isTypeOnly: true;\n readonly moduleSpecifier: Expression;\n };\n };\n type TypeOnlyAliasDeclaration = TypeOnlyImportDeclaration | TypeOnlyExportDeclaration;\n /**\n * This is either an `export =` or an `export default` declaration.\n * Unless `isExportEquals` is set, this node was parsed as an `export default`.\n */\n interface ExportAssignment extends DeclarationStatement, JSDocContainer {\n readonly kind: SyntaxKind.ExportAssignment;\n readonly parent: SourceFile;\n readonly modifiers?: NodeArray<ModifierLike>;\n readonly isExportEquals?: boolean;\n readonly expression: Expression;\n }\n interface FileReference extends TextRange {\n fileName: string;\n resolutionMode?: ResolutionMode;\n preserve?: boolean;\n }\n interface CheckJsDirective extends TextRange {\n enabled: boolean;\n }\n type CommentKind = SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia;\n interface CommentRange extends TextRange {\n hasTrailingNewLine?: boolean;\n kind: CommentKind;\n }\n interface SynthesizedComment extends CommentRange {\n text: string;\n pos: -1;\n end: -1;\n hasLeadingNewline?: boolean;\n }\n interface JSDocTypeExpression extends TypeNode {\n readonly kind: SyntaxKind.JSDocTypeExpression;\n readonly type: TypeNode;\n }\n interface JSDocNameReference extends Node {\n readonly kind: SyntaxKind.JSDocNameReference;\n readonly name: EntityName | JSDocMemberName;\n }\n /** Class#method reference in JSDoc */\n interface JSDocMemberName extends Node {\n readonly kind: SyntaxKind.JSDocMemberName;\n readonly left: EntityName | JSDocMemberName;\n readonly right: Identifier;\n }\n interface JSDocType extends TypeNode {\n _jsDocTypeBrand: any;\n }\n interface JSDocAllType extends JSDocType {\n readonly kind: SyntaxKind.JSDocAllType;\n }\n interface JSDocUnknownType extends JSDocType {\n readonly kind: SyntaxKind.JSDocUnknownType;\n }\n interface JSDocNonNullableType extends JSDocType {\n readonly kind: SyntaxKind.JSDocNonNullableType;\n readonly type: TypeNode;\n readonly postfix: boolean;\n }\n interface JSDocNullableType extends JSDocType {\n readonly kind: SyntaxKind.JSDocNullableType;\n readonly type: TypeNode;\n readonly postfix: boolean;\n }\n interface JSDocOptionalType extends JSDocType {\n readonly kind: SyntaxKind.JSDocOptionalType;\n readonly type: TypeNode;\n }\n interface JSDocFunctionType extends JSDocType, SignatureDeclarationBase, LocalsContainer {\n readonly kind: SyntaxKind.JSDocFunctionType;\n }\n interface JSDocVariadicType extends JSDocType {\n readonly kind: SyntaxKind.JSDocVariadicType;\n readonly type: TypeNode;\n }\n interface JSDocNamepathType extends JSDocType {\n readonly kind: SyntaxKind.JSDocNamepathType;\n readonly type: TypeNode;\n }\n type JSDocTypeReferencingNode = JSDocVariadicType | JSDocOptionalType | JSDocNullableType | JSDocNonNullableType;\n interface JSDoc extends Node {\n readonly kind: SyntaxKind.JSDoc;\n readonly parent: HasJSDoc;\n readonly tags?: NodeArray<JSDocTag>;\n readonly comment?: string | NodeArray<JSDocComment>;\n }\n interface JSDocTag extends Node {\n readonly parent: JSDoc | JSDocTypeLiteral;\n readonly tagName: Identifier;\n readonly comment?: string | NodeArray<JSDocComment>;\n }\n interface JSDocLink extends Node {\n readonly kind: SyntaxKind.JSDocLink;\n readonly name?: EntityName | JSDocMemberName;\n text: string;\n }\n interface JSDocLinkCode extends Node {\n readonly kind: SyntaxKind.JSDocLinkCode;\n readonly name?: EntityName | JSDocMemberName;\n text: string;\n }\n interface JSDocLinkPlain extends Node {\n readonly kind: SyntaxKind.JSDocLinkPlain;\n readonly name?: EntityName | JSDocMemberName;\n text: string;\n }\n type JSDocComment = JSDocText | JSDocLink | JSDocLinkCode | JSDocLinkPlain;\n interface JSDocText extends Node {\n readonly kind: SyntaxKind.JSDocText;\n text: string;\n }\n interface JSDocUnknownTag extends JSDocTag {\n readonly kind: SyntaxKind.JSDocTag;\n }\n /**\n * Note that `@extends` is a synonym of `@augments`.\n * Both tags are represented by this interface.\n */\n interface JSDocAugmentsTag extends JSDocTag {\n readonly kind: SyntaxKind.JSDocAugmentsTag;\n readonly class: ExpressionWithTypeArguments & {\n readonly expression: Identifier | PropertyAccessEntityNameExpression;\n };\n }\n interface JSDocImplementsTag extends JSDocTag {\n readonly kind: SyntaxKind.JSDocImplementsTag;\n readonly class: ExpressionWithTypeArguments & {\n readonly expression: Identifier | PropertyAccessEntityNameExpression;\n };\n }\n interface JSDocAuthorTag extends JSDocTag {\n readonly kind: SyntaxKind.JSDocAuthorTag;\n }\n interface JSDocDeprecatedTag extends JSDocTag {\n kind: SyntaxKind.JSDocDeprecatedTag;\n }\n interface JSDocClassTag extends JSDocTag {\n readonly kind: SyntaxKind.JSDocClassTag;\n }\n interface JSDocPublicTag extends JSDocTag {\n readonly kind: SyntaxKind.JSDocPublicTag;\n }\n interface JSDocPrivateTag extends JSDocTag {\n readonly kind: SyntaxKind.JSDocPrivateTag;\n }\n interface JSDocProtectedTag extends JSDocTag {\n readonly kind: SyntaxKind.JSDocProtectedTag;\n }\n interface JSDocReadonlyTag extends JSDocTag {\n readonly kind: SyntaxKind.JSDocReadonlyTag;\n }\n interface JSDocOverrideTag extends JSDocTag {\n readonly kind: SyntaxKind.JSDocOverrideTag;\n }\n interface JSDocEnumTag extends JSDocTag, Declaration, LocalsContainer {\n readonly kind: SyntaxKind.JSDocEnumTag;\n readonly parent: JSDoc;\n readonly typeExpression: JSDocTypeExpression;\n }\n interface JSDocThisTag extends JSDocTag {\n readonly kind: SyntaxKind.JSDocThisTag;\n readonly typeExpression: JSDocTypeExpression;\n }\n interface JSDocTemplateTag extends JSDocTag {\n readonly kind: SyntaxKind.JSDocTemplateTag;\n readonly constraint: JSDocTypeExpression | undefined;\n readonly typeParameters: NodeArray<TypeParameterDeclaration>;\n }\n interface JSDocSeeTag extends JSDocTag {\n readonly kind: SyntaxKind.JSDocSeeTag;\n readonly name?: JSDocNameReference;\n }\n interface JSDocReturnTag extends JSDocTag {\n readonly kind: SyntaxKind.JSDocReturnTag;\n readonly typeExpression?: JSDocTypeExpression;\n }\n interface JSDocTypeTag extends JSDocTag {\n readonly kind: SyntaxKind.JSDocTypeTag;\n readonly typeExpression: JSDocTypeExpression;\n }\n interface JSDocTypedefTag extends JSDocTag, NamedDeclaration, LocalsContainer {\n readonly kind: SyntaxKind.JSDocTypedefTag;\n readonly parent: JSDoc;\n readonly fullName?: JSDocNamespaceDeclaration | Identifier;\n readonly name?: Identifier;\n readonly typeExpression?: JSDocTypeExpression | JSDocTypeLiteral;\n }\n interface JSDocCallbackTag extends JSDocTag, NamedDeclaration, LocalsContainer {\n readonly kind: SyntaxKind.JSDocCallbackTag;\n readonly parent: JSDoc;\n readonly fullName?: JSDocNamespaceDeclaration | Identifier;\n readonly name?: Identifier;\n readonly typeExpression: JSDocSignature;\n }\n interface JSDocOverloadTag extends JSDocTag {\n readonly kind: SyntaxKind.JSDocOverloadTag;\n readonly parent: JSDoc;\n readonly typeExpression: JSDocSignature;\n }\n interface JSDocThrowsTag extends JSDocTag {\n readonly kind: SyntaxKind.JSDocThrowsTag;\n readonly typeExpression?: JSDocTypeExpression;\n }\n interface JSDocSignature extends JSDocType, Declaration, JSDocContainer, LocalsContainer {\n readonly kind: SyntaxKind.JSDocSignature;\n readonly typeParameters?: readonly JSDocTemplateTag[];\n readonly parameters: readonly JSDocParameterTag[];\n readonly type: JSDocReturnTag | undefined;\n }\n interface JSDocPropertyLikeTag extends JSDocTag, Declaration {\n readonly parent: JSDoc;\n readonly name: EntityName;\n readonly typeExpression?: JSDocTypeExpression;\n /** Whether the property name came before the type -- non-standard for JSDoc, but Typescript-like */\n readonly isNameFirst: boolean;\n readonly isBracketed: boolean;\n }\n interface JSDocPropertyTag extends JSDocPropertyLikeTag {\n readonly kind: SyntaxKind.JSDocPropertyTag;\n }\n interface JSDocParameterTag extends JSDocPropertyLikeTag {\n readonly kind: SyntaxKind.JSDocParameterTag;\n }\n interface JSDocTypeLiteral extends JSDocType, Declaration {\n readonly kind: SyntaxKind.JSDocTypeLiteral;\n readonly jsDocPropertyTags?: readonly JSDocPropertyLikeTag[];\n /** If true, then this type literal represents an *array* of its type. */\n readonly isArrayType: boolean;\n }\n interface JSDocSatisfiesTag extends JSDocTag {\n readonly kind: SyntaxKind.JSDocSatisfiesTag;\n readonly typeExpression: JSDocTypeExpression;\n }\n interface JSDocImportTag extends JSDocTag {\n readonly kind: SyntaxKind.JSDocImportTag;\n readonly parent: JSDoc;\n readonly importClause?: ImportClause;\n readonly moduleSpecifier: Expression;\n readonly attributes?: ImportAttributes;\n }\n type FlowType = Type | IncompleteType;\n interface IncompleteType {\n flags: TypeFlags | 0;\n type: Type;\n }\n interface AmdDependency {\n path: string;\n name?: string;\n }\n /**\n * Subset of properties from SourceFile that are used in multiple utility functions\n */\n interface SourceFileLike {\n readonly text: string;\n }\n interface SourceFileLike {\n getLineAndCharacterOfPosition(pos: number): LineAndCharacter;\n }\n type ResolutionMode = ModuleKind.ESNext | ModuleKind.CommonJS | undefined;\n interface SourceFile extends Declaration, LocalsContainer {\n readonly kind: SyntaxKind.SourceFile;\n readonly statements: NodeArray<Statement>;\n readonly endOfFileToken: Token<SyntaxKind.EndOfFileToken>;\n fileName: string;\n text: string;\n amdDependencies: readonly AmdDependency[];\n moduleName?: string;\n referencedFiles: readonly FileReference[];\n typeReferenceDirectives: readonly FileReference[];\n libReferenceDirectives: readonly FileReference[];\n languageVariant: LanguageVariant;\n isDeclarationFile: boolean;\n /**\n * lib.d.ts should have a reference comment like\n *\n * /// <reference no-default-lib=\"true\"/>\n *\n * If any other file has this comment, it signals not to include lib.d.ts\n * because this containing file is intended to act as a default library.\n */\n hasNoDefaultLib: boolean;\n languageVersion: ScriptTarget;\n /**\n * When `module` is `Node16` or `NodeNext`, this field controls whether the\n * source file in question is an ESNext-output-format file, or a CommonJS-output-format\n * module. This is derived by the module resolver as it looks up the file, since\n * it is derived from either the file extension of the module, or the containing\n * `package.json` context, and affects both checking and emit.\n *\n * It is _public_ so that (pre)transformers can set this field,\n * since it switches the builtin `node` module transform. Generally speaking, if unset,\n * the field is treated as though it is `ModuleKind.CommonJS`.\n *\n * Note that this field is only set by the module resolution process when\n * `moduleResolution` is `Node16` or `NodeNext`, which is implied by the `module` setting\n * of `Node16` or `NodeNext`, respectively, but may be overriden (eg, by a `moduleResolution`\n * of `node`). If so, this field will be unset and source files will be considered to be\n * CommonJS-output-format by the node module transformer and type checker, regardless of extension or context.\n */\n impliedNodeFormat?: ResolutionMode;\n }\n interface SourceFile {\n getLineAndCharacterOfPosition(pos: number): LineAndCharacter;\n getLineEndOfPosition(pos: number): number;\n getLineStarts(): readonly number[];\n getPositionOfLineAndCharacter(line: number, character: number): number;\n update(newText: string, textChangeRange: TextChangeRange): SourceFile;\n }\n interface Bundle extends Node {\n readonly kind: SyntaxKind.Bundle;\n readonly sourceFiles: readonly SourceFile[];\n }\n interface JsonSourceFile extends SourceFile {\n readonly statements: NodeArray<JsonObjectExpressionStatement>;\n }\n interface TsConfigSourceFile extends JsonSourceFile {\n extendedSourceFiles?: string[];\n }\n interface JsonMinusNumericLiteral extends PrefixUnaryExpression {\n readonly kind: SyntaxKind.PrefixUnaryExpression;\n readonly operator: SyntaxKind.MinusToken;\n readonly operand: NumericLiteral;\n }\n type JsonObjectExpression = ObjectLiteralExpression | ArrayLiteralExpression | JsonMinusNumericLiteral | NumericLiteral | StringLiteral | BooleanLiteral | NullLiteral;\n interface JsonObjectExpressionStatement extends ExpressionStatement {\n readonly expression: JsonObjectExpression;\n }\n interface ScriptReferenceHost {\n getCompilerOptions(): CompilerOptions;\n getSourceFile(fileName: string): SourceFile | undefined;\n getSourceFileByPath(path: Path): SourceFile | undefined;\n getCurrentDirectory(): string;\n }\n interface ParseConfigHost extends ModuleResolutionHost {\n useCaseSensitiveFileNames: boolean;\n readDirectory(rootDir: string, extensions: readonly string[], excludes: readonly string[] | undefined, includes: readonly string[], depth?: number): readonly string[];\n /**\n * Gets a value indicating whether the specified path exists and is a file.\n * @param path The path to test.\n */\n fileExists(path: string): boolean;\n readFile(path: string): string | undefined;\n trace?(s: string): void;\n }\n /**\n * Branded string for keeping track of when we've turned an ambiguous path\n * specified like \"./blah\" to an absolute path to an actual\n * tsconfig file, e.g. \"/root/blah/tsconfig.json\"\n */\n type ResolvedConfigFileName = string & {\n _isResolvedConfigFileName: never;\n };\n interface WriteFileCallbackData {\n }\n type WriteFileCallback = (fileName: string, text: string, writeByteOrderMark: boolean, onError?: (message: string) => void, sourceFiles?: readonly SourceFile[], data?: WriteFileCallbackData) => void;\n class OperationCanceledException {\n }\n interface CancellationToken {\n isCancellationRequested(): boolean;\n /** @throws OperationCanceledException if isCancellationRequested is true */\n throwIfCancellationRequested(): void;\n }\n interface Program extends ScriptReferenceHost {\n getCurrentDirectory(): string;\n /**\n * Get a list of root file names that were passed to a 'createProgram'\n */\n getRootFileNames(): readonly string[];\n /**\n * Get a list of files in the program\n */\n getSourceFiles(): readonly SourceFile[];\n /**\n * Emits the JavaScript and declaration files. If targetSourceFile is not specified, then\n * the JavaScript and declaration files will be produced for all the files in this program.\n * If targetSourceFile is specified, then only the JavaScript and declaration for that\n * specific file will be generated.\n *\n * If writeFile is not specified then the writeFile callback from the compiler host will be\n * used for writing the JavaScript and declaration files. Otherwise, the writeFile parameter\n * will be invoked when writing the JavaScript and declaration files.\n */\n emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): EmitResult;\n getOptionsDiagnostics(cancellationToken?: CancellationToken): readonly Diagnostic[];\n getGlobalDiagnostics(cancellationToken?: CancellationToken): readonly Diagnostic[];\n getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): readonly DiagnosticWithLocation[];\n /** The first time this is called, it will return global diagnostics (no location). */\n getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): readonly Diagnostic[];\n getDeclarationDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): readonly DiagnosticWithLocation[];\n getConfigFileParsingDiagnostics(): readonly Diagnostic[];\n /**\n * Gets a type checker that can be used to semantically analyze source files in the program.\n */\n getTypeChecker(): TypeChecker;\n getNodeCount(): number;\n getIdentifierCount(): number;\n getSymbolCount(): number;\n getTypeCount(): number;\n getInstantiationCount(): number;\n getRelationCacheSizes(): {\n assignable: number;\n identity: number;\n subtype: number;\n strictSubtype: number;\n };\n isSourceFileFromExternalLibrary(file: SourceFile): boolean;\n isSourceFileDefaultLibrary(file: SourceFile): boolean;\n /**\n * Calculates the final resolution mode for a given module reference node. This function only returns a result when module resolution\n * settings allow differing resolution between ESM imports and CJS requires, or when a mode is explicitly provided via import attributes,\n * which cause an `import` or `require` condition to be used during resolution regardless of module resolution settings. In absence of\n * overriding attributes, and in modes that support differing resolution, the result indicates the syntax the usage would emit to JavaScript.\n * Some examples:\n *\n * ```ts\n * // tsc foo.mts --module nodenext\n * import {} from \"mod\";\n * // Result: ESNext - the import emits as ESM due to `impliedNodeFormat` set by .mts file extension\n *\n * // tsc foo.cts --module nodenext\n * import {} from \"mod\";\n * // Result: CommonJS - the import emits as CJS due to `impliedNodeFormat` set by .cts file extension\n *\n * // tsc foo.ts --module preserve --moduleResolution bundler\n * import {} from \"mod\";\n * // Result: ESNext - the import emits as ESM due to `--module preserve` and `--moduleResolution bundler`\n * // supports conditional imports/exports\n *\n * // tsc foo.ts --module preserve --moduleResolution node10\n * import {} from \"mod\";\n * // Result: undefined - the import emits as ESM due to `--module preserve`, but `--moduleResolution node10`\n * // does not support conditional imports/exports\n *\n * // tsc foo.ts --module commonjs --moduleResolution node10\n * import type {} from \"mod\" with { \"resolution-mode\": \"import\" };\n * // Result: ESNext - conditional imports/exports always supported with \"resolution-mode\" attribute\n * ```\n */\n getModeForUsageLocation(file: SourceFile, usage: StringLiteralLike): ResolutionMode;\n /**\n * Calculates the final resolution mode for an import at some index within a file's `imports` list. This function only returns a result\n * when module resolution settings allow differing resolution between ESM imports and CJS requires, or when a mode is explicitly provided\n * via import attributes, which cause an `import` or `require` condition to be used during resolution regardless of module resolution\n * settings. In absence of overriding attributes, and in modes that support differing resolution, the result indicates the syntax the\n * usage would emit to JavaScript. Some examples:\n *\n * ```ts\n * // tsc foo.mts --module nodenext\n * import {} from \"mod\";\n * // Result: ESNext - the import emits as ESM due to `impliedNodeFormat` set by .mts file extension\n *\n * // tsc foo.cts --module nodenext\n * import {} from \"mod\";\n * // Result: CommonJS - the import emits as CJS due to `impliedNodeFormat` set by .cts file extension\n *\n * // tsc foo.ts --module preserve --moduleResolution bundler\n * import {} from \"mod\";\n * // Result: ESNext - the import emits as ESM due to `--module preserve` and `--moduleResolution bundler`\n * // supports conditional imports/exports\n *\n * // tsc foo.ts --module preserve --moduleResolution node10\n * import {} from \"mod\";\n * // Result: undefined - the import emits as ESM due to `--module preserve`, but `--moduleResolution node10`\n * // does not support conditional imports/exports\n *\n * // tsc foo.ts --module commonjs --moduleResolution node10\n * import type {} from \"mod\" with { \"resolution-mode\": \"import\" };\n * // Result: ESNext - conditional imports/exports always supported with \"resolution-mode\" attribute\n * ```\n */\n getModeForResolutionAtIndex(file: SourceFile, index: number): ResolutionMode;\n getProjectReferences(): readonly ProjectReference[] | undefined;\n getResolvedProjectReferences(): readonly (ResolvedProjectReference | undefined)[] | undefined;\n }\n interface ResolvedProjectReference {\n commandLine: ParsedCommandLine;\n sourceFile: SourceFile;\n references?: readonly (ResolvedProjectReference | undefined)[];\n }\n type CustomTransformerFactory = (context: TransformationContext) => CustomTransformer;\n interface CustomTransformer {\n transformSourceFile(node: SourceFile): SourceFile;\n transformBundle(node: Bundle): Bundle;\n }\n interface CustomTransformers {\n /** Custom transformers to evaluate before built-in .js transformations. */\n before?: (TransformerFactory<SourceFile> | CustomTransformerFactory)[];\n /** Custom transformers to evaluate after built-in .js transformations. */\n after?: (TransformerFactory<SourceFile> | CustomTransformerFactory)[];\n /** Custom transformers to evaluate after built-in .d.ts transformations. */\n afterDeclarations?: (TransformerFactory<Bundle | SourceFile> | CustomTransformerFactory)[];\n }\n interface SourceMapSpan {\n /** Line number in the .js file. */\n emittedLine: number;\n /** Column number in the .js file. */\n emittedColumn: number;\n /** Line number in the .ts file. */\n sourceLine: number;\n /** Column number in the .ts file. */\n sourceColumn: number;\n /** Optional name (index into names array) associated with this span. */\n nameIndex?: number;\n /** .ts file (index into sources array) associated with this span */\n sourceIndex: number;\n }\n /** Return code used by getEmitOutput function to indicate status of the function */\n enum ExitStatus {\n Success = 0,\n DiagnosticsPresent_OutputsSkipped = 1,\n DiagnosticsPresent_OutputsGenerated = 2,\n InvalidProject_OutputsSkipped = 3,\n ProjectReferenceCycle_OutputsSkipped = 4,\n }\n interface EmitResult {\n emitSkipped: boolean;\n /** Contains declaration emit diagnostics */\n diagnostics: readonly Diagnostic[];\n emittedFiles?: string[];\n }\n interface TypeChecker {\n getTypeOfSymbolAtLocation(symbol: Symbol, node: Node): Type;\n getTypeOfSymbol(symbol: Symbol): Type;\n getDeclaredTypeOfSymbol(symbol: Symbol): Type;\n getPropertiesOfType(type: Type): Symbol[];\n getPropertyOfType(type: Type, propertyName: string): Symbol | undefined;\n getPrivateIdentifierPropertyOfType(leftType: Type, name: string, location: Node): Symbol | undefined;\n getIndexInfoOfType(type: Type, kind: IndexKind): IndexInfo | undefined;\n getIndexInfosOfType(type: Type): readonly IndexInfo[];\n getIndexInfosOfIndexSymbol: (indexSymbol: Symbol, siblingSymbols?: Symbol[] | undefined) => IndexInfo[];\n getSignaturesOfType(type: Type, kind: SignatureKind): readonly Signature[];\n getIndexTypeOfType(type: Type, kind: IndexKind): Type | undefined;\n getBaseTypes(type: InterfaceType): BaseType[];\n getBaseTypeOfLiteralType(type: Type): Type;\n getWidenedType(type: Type): Type;\n /**\n * Gets the \"awaited type\" of a type.\n *\n * If an expression has a Promise-like type, the \"awaited type\" of the expression is\n * derived from the type of the first argument of the fulfillment callback for that\n * Promise's `then` method. If the \"awaited type\" is itself a Promise-like, it is\n * recursively unwrapped in the same manner until a non-promise type is found.\n *\n * If an expression does not have a Promise-like type, its \"awaited type\" is the type\n * of the expression.\n *\n * If the resulting \"awaited type\" is a generic object type, then it is wrapped in\n * an `Awaited<T>`.\n *\n * In the event the \"awaited type\" circularly references itself, or is a non-Promise\n * object-type with a callable `then()` method, an \"awaited type\" cannot be determined\n * and the value `undefined` will be returned.\n *\n * This is used to reflect the runtime behavior of the `await` keyword.\n */\n getAwaitedType(type: Type): Type | undefined;\n getReturnTypeOfSignature(signature: Signature): Type;\n getNullableType(type: Type, flags: TypeFlags): Type;\n getNonNullableType(type: Type): Type;\n getTypeArguments(type: TypeReference): readonly Type[];\n /** Note that the resulting nodes cannot be checked. */\n typeToTypeNode(type: Type, enclosingDeclaration: Node | undefined, flags: NodeBuilderFlags | undefined): TypeNode | undefined;\n /** Note that the resulting nodes cannot be checked. */\n signatureToSignatureDeclaration(signature: Signature, kind: SyntaxKind, enclosingDeclaration: Node | undefined, flags: NodeBuilderFlags | undefined):\n | SignatureDeclaration & {\n typeArguments?: NodeArray<TypeNode>;\n }\n | undefined;\n /** Note that the resulting nodes cannot be checked. */\n indexInfoToIndexSignatureDeclaration(indexInfo: IndexInfo, enclosingDeclaration: Node | undefined, flags: NodeBuilderFlags | undefined): IndexSignatureDeclaration | undefined;\n /** Note that the resulting nodes cannot be checked. */\n symbolToEntityName(symbol: Symbol, meaning: SymbolFlags, enclosingDeclaration: Node | undefined, flags: NodeBuilderFlags | undefined): EntityName | undefined;\n /** Note that the resulting nodes cannot be checked. */\n symbolToExpression(symbol: Symbol, meaning: SymbolFlags, enclosingDeclaration: Node | undefined, flags: NodeBuilderFlags | undefined): Expression | undefined;\n /** Note that the resulting nodes cannot be checked. */\n symbolToTypeParameterDeclarations(symbol: Symbol, enclosingDeclaration: Node | undefined, flags: NodeBuilderFlags | undefined): NodeArray<TypeParameterDeclaration> | undefined;\n /** Note that the resulting nodes cannot be checked. */\n symbolToParameterDeclaration(symbol: Symbol, enclosingDeclaration: Node | undefined, flags: NodeBuilderFlags | undefined): ParameterDeclaration | undefined;\n /** Note that the resulting nodes cannot be checked. */\n typeParameterToDeclaration(parameter: TypeParameter, enclosingDeclaration: Node | undefined, flags: NodeBuilderFlags | undefined): TypeParameterDeclaration | undefined;\n getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[];\n getSymbolAtLocation(node: Node): Symbol | undefined;\n getSymbolsOfParameterPropertyDeclaration(parameter: ParameterDeclaration, parameterName: string): Symbol[];\n /**\n * The function returns the value (local variable) symbol of an identifier in the short-hand property assignment.\n * This is necessary as an identifier in short-hand property assignment can contains two meaning: property name and property value.\n */\n getShorthandAssignmentValueSymbol(location: Node | undefined): Symbol | undefined;\n getExportSpecifierLocalTargetSymbol(location: ExportSpecifier | Identifier): Symbol | undefined;\n /**\n * If a symbol is a local symbol with an associated exported symbol, returns the exported symbol.\n * Otherwise returns its input.\n * For example, at `export type T = number;`:\n * - `getSymbolAtLocation` at the location `T` will return the exported symbol for `T`.\n * - But the result of `getSymbolsInScope` will contain the *local* symbol for `T`, not the exported symbol.\n * - Calling `getExportSymbolOfSymbol` on that local symbol will return the exported symbol.\n */\n getExportSymbolOfSymbol(symbol: Symbol): Symbol;\n getPropertySymbolOfDestructuringAssignment(location: Identifier): Symbol | undefined;\n getTypeOfAssignmentPattern(pattern: AssignmentPattern): Type;\n getTypeAtLocation(node: Node): Type;\n getTypeFromTypeNode(node: TypeNode): Type;\n signatureToString(signature: Signature, enclosingDeclaration?: Node, flags?: TypeFormatFlags, kind?: SignatureKind): string;\n typeToString(type: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string;\n symbolToString(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags, flags?: SymbolFormatFlags): string;\n typePredicateToString(predicate: TypePredicate, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string;\n getFullyQualifiedName(symbol: Symbol): string;\n getAugmentedPropertiesOfType(type: Type): Symbol[];\n getRootSymbols(symbol: Symbol): readonly Symbol[];\n getSymbolOfExpando(node: Node, allowDeclaration: boolean): Symbol | undefined;\n getContextualType(node: Expression): Type | undefined;\n /**\n * returns unknownSignature in the case of an error.\n * returns undefined if the node is not valid.\n * @param argumentCount Apparent number of arguments, passed in case of a possibly incomplete call. This should come from an ArgumentListInfo. See `signatureHelp.ts`.\n */\n getResolvedSignature(node: CallLikeExpression, candidatesOutArray?: Signature[], argumentCount?: number): Signature | undefined;\n getSignatureFromDeclaration(declaration: SignatureDeclaration): Signature | undefined;\n isImplementationOfOverload(node: SignatureDeclaration): boolean | undefined;\n isUndefinedSymbol(symbol: Symbol): boolean;\n isArgumentsSymbol(symbol: Symbol): boolean;\n isUnknownSymbol(symbol: Symbol): boolean;\n getMergedSymbol(symbol: Symbol): Symbol;\n getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): string | number | undefined;\n isValidPropertyAccess(node: PropertyAccessExpression | QualifiedName | ImportTypeNode, propertyName: string): boolean;\n /** Follow all aliases to get the original symbol. */\n getAliasedSymbol(symbol: Symbol): Symbol;\n /** Follow a *single* alias to get the immediately aliased symbol. */\n getImmediateAliasedSymbol(symbol: Symbol): Symbol | undefined;\n getExportsOfModule(moduleSymbol: Symbol): Symbol[];\n getJsxIntrinsicTagNamesAt(location: Node): Symbol[];\n isOptionalParameter(node: ParameterDeclaration): boolean;\n getAmbientModules(): Symbol[];\n tryGetMemberInModuleExports(memberName: string, moduleSymbol: Symbol): Symbol | undefined;\n getApparentType(type: Type): Type;\n getBaseConstraintOfType(type: Type): Type | undefined;\n getDefaultFromTypeParameter(type: Type): Type | undefined;\n /**\n * Gets the intrinsic `any` type. There are multiple types that act as `any` used internally in the compiler,\n * so the type returned by this function should not be used in equality checks to determine if another type\n * is `any`. Instead, use `type.flags & TypeFlags.Any`.\n */\n getAnyType(): Type;\n getStringType(): Type;\n getStringLiteralType(value: string): StringLiteralType;\n getNumberType(): Type;\n getNumberLiteralType(value: number): NumberLiteralType;\n getBigIntType(): Type;\n getBigIntLiteralType(value: PseudoBigInt): BigIntLiteralType;\n getBooleanType(): Type;\n getUnknownType(): Type;\n getFalseType(): Type;\n getTrueType(): Type;\n getVoidType(): Type;\n /**\n * Gets the intrinsic `undefined` type. There are multiple types that act as `undefined` used internally in the compiler\n * depending on compiler options, so the type returned by this function should not be used in equality checks to determine\n * if another type is `undefined`. Instead, use `type.flags & TypeFlags.Undefined`.\n */\n getUndefinedType(): Type;\n /**\n * Gets the intrinsic `null` type. There are multiple types that act as `null` used internally in the compiler,\n * so the type returned by this function should not be used in equality checks to determine if another type\n * is `null`. Instead, use `type.flags & TypeFlags.Null`.\n */\n getNullType(): Type;\n getESSymbolType(): Type;\n /**\n * Gets the intrinsic `never` type. There are multiple types that act as `never` used internally in the compiler,\n * so the type returned by this function should not be used in equality checks to determine if another type\n * is `never`. Instead, use `type.flags & TypeFlags.Never`.\n */\n getNeverType(): Type;\n /**\n * Returns true if the \"source\" type is assignable to the \"target\" type.\n *\n * ```ts\n * declare const abcLiteral: ts.Type; // Type of \"abc\"\n * declare const stringType: ts.Type; // Type of string\n *\n * isTypeAssignableTo(abcLiteral, abcLiteral); // true; \"abc\" is assignable to \"abc\"\n * isTypeAssignableTo(abcLiteral, stringType); // true; \"abc\" is assignable to string\n * isTypeAssignableTo(stringType, abcLiteral); // false; string is not assignable to \"abc\"\n * isTypeAssignableTo(stringType, stringType); // true; string is assignable to string\n * ```\n */\n isTypeAssignableTo(source: Type, target: Type): boolean;\n /**\n * True if this type is the `Array` or `ReadonlyArray` type from lib.d.ts.\n * This function will _not_ return true if passed a type which\n * extends `Array` (for example, the TypeScript AST's `NodeArray` type).\n */\n isArrayType(type: Type): boolean;\n /**\n * True if this type is a tuple type. This function will _not_ return true if\n * passed a type which extends from a tuple.\n */\n isTupleType(type: Type): boolean;\n /**\n * True if this type is assignable to `ReadonlyArray<any>`.\n */\n isArrayLikeType(type: Type): boolean;\n resolveName(name: string, location: Node | undefined, meaning: SymbolFlags, excludeGlobals: boolean): Symbol | undefined;\n getTypePredicateOfSignature(signature: Signature): TypePredicate | undefined;\n /**\n * Depending on the operation performed, it may be appropriate to throw away the checker\n * if the cancellation token is triggered. Typically, if it is used for error checking\n * and the operation is cancelled, then it should be discarded, otherwise it is safe to keep.\n */\n runWithCancellationToken<T>(token: CancellationToken, cb: (checker: TypeChecker) => T): T;\n getTypeArgumentsForResolvedSignature(signature: Signature): readonly Type[] | undefined;\n }\n enum NodeBuilderFlags {\n None = 0,\n NoTruncation = 1,\n WriteArrayAsGenericType = 2,\n GenerateNamesForShadowedTypeParams = 4,\n UseStructuralFallback = 8,\n ForbidIndexedAccessSymbolReferences = 16,\n WriteTypeArgumentsOfSignature = 32,\n UseFullyQualifiedType = 64,\n UseOnlyExternalAliasing = 128,\n SuppressAnyReturnType = 256,\n WriteTypeParametersInQualifiedName = 512,\n MultilineObjectLiterals = 1024,\n WriteClassExpressionAsTypeLiteral = 2048,\n UseTypeOfFunction = 4096,\n OmitParameterModifiers = 8192,\n UseAliasDefinedOutsideCurrentScope = 16384,\n UseSingleQuotesForStringLiteralType = 268435456,\n NoTypeReduction = 536870912,\n OmitThisParameter = 33554432,\n AllowThisInObjectLiteral = 32768,\n AllowQualifiedNameInPlaceOfIdentifier = 65536,\n AllowAnonymousIdentifier = 131072,\n AllowEmptyUnionOrIntersection = 262144,\n AllowEmptyTuple = 524288,\n AllowUniqueESSymbolType = 1048576,\n AllowEmptyIndexInfoType = 2097152,\n AllowNodeModulesRelativePaths = 67108864,\n IgnoreErrors = 70221824,\n InObjectTypeLiteral = 4194304,\n InTypeAlias = 8388608,\n InInitialEntityName = 16777216,\n }\n enum TypeFormatFlags {\n None = 0,\n NoTruncation = 1,\n WriteArrayAsGenericType = 2,\n GenerateNamesForShadowedTypeParams = 4,\n UseStructuralFallback = 8,\n WriteTypeArgumentsOfSignature = 32,\n UseFullyQualifiedType = 64,\n SuppressAnyReturnType = 256,\n MultilineObjectLiterals = 1024,\n WriteClassExpressionAsTypeLiteral = 2048,\n UseTypeOfFunction = 4096,\n OmitParameterModifiers = 8192,\n UseAliasDefinedOutsideCurrentScope = 16384,\n UseSingleQuotesForStringLiteralType = 268435456,\n NoTypeReduction = 536870912,\n OmitThisParameter = 33554432,\n AllowUniqueESSymbolType = 1048576,\n AddUndefined = 131072,\n WriteArrowStyleSignature = 262144,\n InArrayType = 524288,\n InElementType = 2097152,\n InFirstTypeArgument = 4194304,\n InTypeAlias = 8388608,\n NodeBuilderFlagsMask = 848330095,\n }\n enum SymbolFormatFlags {\n None = 0,\n WriteTypeParametersOrArguments = 1,\n UseOnlyExternalAliasing = 2,\n AllowAnyNodeKind = 4,\n UseAliasDefinedOutsideCurrentScope = 8,\n }\n enum TypePredicateKind {\n This = 0,\n Identifier = 1,\n AssertsThis = 2,\n AssertsIdentifier = 3,\n }\n interface TypePredicateBase {\n kind: TypePredicateKind;\n type: Type | undefined;\n }\n interface ThisTypePredicate extends TypePredicateBase {\n kind: TypePredicateKind.This;\n parameterName: undefined;\n parameterIndex: undefined;\n type: Type;\n }\n interface IdentifierTypePredicate extends TypePredicateBase {\n kind: TypePredicateKind.Identifier;\n parameterName: string;\n parameterIndex: number;\n type: Type;\n }\n interface AssertsThisTypePredicate extends TypePredicateBase {\n kind: TypePredicateKind.AssertsThis;\n parameterName: undefined;\n parameterIndex: undefined;\n type: Type | undefined;\n }\n interface AssertsIdentifierTypePredicate extends TypePredicateBase {\n kind: TypePredicateKind.AssertsIdentifier;\n parameterName: string;\n parameterIndex: number;\n type: Type | undefined;\n }\n type TypePredicate = ThisTypePredicate | IdentifierTypePredicate | AssertsThisTypePredicate | AssertsIdentifierTypePredicate;\n enum SymbolFlags {\n None = 0,\n FunctionScopedVariable = 1,\n BlockScopedVariable = 2,\n Property = 4,\n EnumMember = 8,\n Function = 16,\n Class = 32,\n Interface = 64,\n ConstEnum = 128,\n RegularEnum = 256,\n ValueModule = 512,\n NamespaceModule = 1024,\n TypeLiteral = 2048,\n ObjectLiteral = 4096,\n Method = 8192,\n Constructor = 16384,\n GetAccessor = 32768,\n SetAccessor = 65536,\n Signature = 131072,\n TypeParameter = 262144,\n TypeAlias = 524288,\n ExportValue = 1048576,\n Alias = 2097152,\n Prototype = 4194304,\n ExportStar = 8388608,\n Optional = 16777216,\n Transient = 33554432,\n Assignment = 67108864,\n ModuleExports = 134217728,\n All = -1,\n Enum = 384,\n Variable = 3,\n Value = 111551,\n Type = 788968,\n Namespace = 1920,\n Module = 1536,\n Accessor = 98304,\n FunctionScopedVariableExcludes = 111550,\n BlockScopedVariableExcludes = 111551,\n ParameterExcludes = 111551,\n PropertyExcludes = 0,\n EnumMemberExcludes = 900095,\n FunctionExcludes = 110991,\n ClassExcludes = 899503,\n InterfaceExcludes = 788872,\n RegularEnumExcludes = 899327,\n ConstEnumExcludes = 899967,\n ValueModuleExcludes = 110735,\n NamespaceModuleExcludes = 0,\n MethodExcludes = 103359,\n GetAccessorExcludes = 46015,\n SetAccessorExcludes = 78783,\n AccessorExcludes = 13247,\n TypeParameterExcludes = 526824,\n TypeAliasExcludes = 788968,\n AliasExcludes = 2097152,\n ModuleMember = 2623475,\n ExportHasLocal = 944,\n BlockScoped = 418,\n PropertyOrAccessor = 98308,\n ClassMember = 106500,\n }\n interface Symbol {\n flags: SymbolFlags;\n escapedName: __String;\n declarations?: Declaration[];\n valueDeclaration?: Declaration;\n members?: SymbolTable;\n exports?: SymbolTable;\n globalExports?: SymbolTable;\n }\n interface Symbol {\n readonly name: string;\n getFlags(): SymbolFlags;\n getEscapedName(): __String;\n getName(): string;\n getDeclarations(): Declaration[] | undefined;\n getDocumentationComment(typeChecker: TypeChecker | undefined): SymbolDisplayPart[];\n getJsDocTags(checker?: TypeChecker): JSDocTagInfo[];\n }\n enum InternalSymbolName {\n Call = \"__call\",\n Constructor = \"__constructor\",\n New = \"__new\",\n Index = \"__index\",\n ExportStar = \"__export\",\n Global = \"__global\",\n Missing = \"__missing\",\n Type = \"__type\",\n Object = \"__object\",\n JSXAttributes = \"__jsxAttributes\",\n Class = \"__class\",\n Function = \"__function\",\n Computed = \"__computed\",\n Resolving = \"__resolving__\",\n ExportEquals = \"export=\",\n Default = \"default\",\n This = \"this\",\n InstantiationExpression = \"__instantiationExpression\",\n ImportAttributes = \"__importAttributes\",\n }\n /**\n * This represents a string whose leading underscore have been escaped by adding extra leading underscores.\n * The shape of this brand is rather unique compared to others we've used.\n * Instead of just an intersection of a string and an object, it is that union-ed\n * with an intersection of void and an object. This makes it wholly incompatible\n * with a normal string (which is good, it cannot be misused on assignment or on usage),\n * while still being comparable with a normal string via === (also good) and castable from a string.\n */\n type __String =\n | (string & {\n __escapedIdentifier: void;\n })\n | (void & {\n __escapedIdentifier: void;\n })\n | InternalSymbolName;\n /** @deprecated Use ReadonlyMap<__String, T> instead. */\n type ReadonlyUnderscoreEscapedMap<T> = ReadonlyMap<__String, T>;\n /** @deprecated Use Map<__String, T> instead. */\n type UnderscoreEscapedMap<T> = Map<__String, T>;\n /** SymbolTable based on ES6 Map interface. */\n type SymbolTable = Map<__String, Symbol>;\n enum TypeFlags {\n Any = 1,\n Unknown = 2,\n String = 4,\n Number = 8,\n Boolean = 16,\n Enum = 32,\n BigInt = 64,\n StringLiteral = 128,\n NumberLiteral = 256,\n BooleanLiteral = 512,\n EnumLiteral = 1024,\n BigIntLiteral = 2048,\n ESSymbol = 4096,\n UniqueESSymbol = 8192,\n Void = 16384,\n Undefined = 32768,\n Null = 65536,\n Never = 131072,\n TypeParameter = 262144,\n Object = 524288,\n Union = 1048576,\n Intersection = 2097152,\n Index = 4194304,\n IndexedAccess = 8388608,\n Conditional = 16777216,\n Substitution = 33554432,\n NonPrimitive = 67108864,\n TemplateLiteral = 134217728,\n StringMapping = 268435456,\n Literal = 2944,\n Unit = 109472,\n Freshable = 2976,\n StringOrNumberLiteral = 384,\n PossiblyFalsy = 117724,\n StringLike = 402653316,\n NumberLike = 296,\n BigIntLike = 2112,\n BooleanLike = 528,\n EnumLike = 1056,\n ESSymbolLike = 12288,\n VoidLike = 49152,\n UnionOrIntersection = 3145728,\n StructuredType = 3670016,\n TypeVariable = 8650752,\n InstantiableNonPrimitive = 58982400,\n InstantiablePrimitive = 406847488,\n Instantiable = 465829888,\n StructuredOrInstantiable = 469499904,\n Narrowable = 536624127,\n }\n type DestructuringPattern = BindingPattern | ObjectLiteralExpression | ArrayLiteralExpression;\n interface Type {\n flags: TypeFlags;\n symbol: Symbol;\n pattern?: DestructuringPattern;\n aliasSymbol?: Symbol;\n aliasTypeArguments?: readonly Type[];\n }\n interface Type {\n getFlags(): TypeFlags;\n getSymbol(): Symbol | undefined;\n getProperties(): Symbol[];\n getProperty(propertyName: string): Symbol | undefined;\n getApparentProperties(): Symbol[];\n getCallSignatures(): readonly Signature[];\n getConstructSignatures(): readonly Signature[];\n getStringIndexType(): Type | undefined;\n getNumberIndexType(): Type | undefined;\n getBaseTypes(): BaseType[] | undefined;\n getNonNullableType(): Type;\n getConstraint(): Type | undefined;\n getDefault(): Type | undefined;\n isUnion(): this is UnionType;\n isIntersection(): this is IntersectionType;\n isUnionOrIntersection(): this is UnionOrIntersectionType;\n isLiteral(): this is LiteralType;\n isStringLiteral(): this is StringLiteralType;\n isNumberLiteral(): this is NumberLiteralType;\n isTypeParameter(): this is TypeParameter;\n isClassOrInterface(): this is InterfaceType;\n isClass(): this is InterfaceType;\n isIndexType(): this is IndexType;\n }\n interface FreshableType extends Type {\n freshType: FreshableType;\n regularType: FreshableType;\n }\n interface LiteralType extends FreshableType {\n value: string | number | PseudoBigInt;\n }\n interface UniqueESSymbolType extends Type {\n symbol: Symbol;\n escapedName: __String;\n }\n interface StringLiteralType extends LiteralType {\n value: string;\n }\n interface NumberLiteralType extends LiteralType {\n value: number;\n }\n interface BigIntLiteralType extends LiteralType {\n value: PseudoBigInt;\n }\n interface EnumType extends FreshableType {\n }\n enum ObjectFlags {\n None = 0,\n Class = 1,\n Interface = 2,\n Reference = 4,\n Tuple = 8,\n Anonymous = 16,\n Mapped = 32,\n Instantiated = 64,\n ObjectLiteral = 128,\n EvolvingArray = 256,\n ObjectLiteralPatternWithComputedProperties = 512,\n ReverseMapped = 1024,\n JsxAttributes = 2048,\n JSLiteral = 4096,\n FreshLiteral = 8192,\n ArrayLiteral = 16384,\n ClassOrInterface = 3,\n ContainsSpread = 2097152,\n ObjectRestType = 4194304,\n InstantiationExpressionType = 8388608,\n SingleSignatureType = 134217728,\n }\n interface ObjectType extends Type {\n objectFlags: ObjectFlags;\n }\n /** Class and interface types (ObjectFlags.Class and ObjectFlags.Interface). */\n interface InterfaceType extends ObjectType {\n typeParameters: TypeParameter[] | undefined;\n outerTypeParameters: TypeParameter[] | undefined;\n localTypeParameters: TypeParameter[] | undefined;\n thisType: TypeParameter | undefined;\n }\n type BaseType = ObjectType | IntersectionType | TypeVariable;\n interface InterfaceTypeWithDeclaredMembers extends InterfaceType {\n declaredProperties: Symbol[];\n declaredCallSignatures: Signature[];\n declaredConstructSignatures: Signature[];\n declaredIndexInfos: IndexInfo[];\n }\n /**\n * Type references (ObjectFlags.Reference). When a class or interface has type parameters or\n * a \"this\" type, references to the class or interface are made using type references. The\n * typeArguments property specifies the types to substitute for the type parameters of the\n * class or interface and optionally includes an extra element that specifies the type to\n * substitute for \"this\" in the resulting instantiation. When no extra argument is present,\n * the type reference itself is substituted for \"this\". The typeArguments property is undefined\n * if the class or interface has no type parameters and the reference isn't specifying an\n * explicit \"this\" argument.\n */\n interface TypeReference extends ObjectType {\n target: GenericType;\n node?: TypeReferenceNode | ArrayTypeNode | TupleTypeNode;\n }\n interface TypeReference {\n typeArguments?: readonly Type[];\n }\n interface DeferredTypeReference extends TypeReference {\n }\n interface GenericType extends InterfaceType, TypeReference {\n }\n enum ElementFlags {\n Required = 1,\n Optional = 2,\n Rest = 4,\n Variadic = 8,\n Fixed = 3,\n Variable = 12,\n NonRequired = 14,\n NonRest = 11,\n }\n interface TupleType extends GenericType {\n elementFlags: readonly ElementFlags[];\n /** Number of required or variadic elements */\n minLength: number;\n /** Number of initial required or optional elements */\n fixedLength: number;\n /**\n * True if tuple has any rest or variadic elements\n *\n * @deprecated Use `.combinedFlags & ElementFlags.Variable` instead\n */\n hasRestElement: boolean;\n combinedFlags: ElementFlags;\n readonly: boolean;\n labeledElementDeclarations?: readonly (NamedTupleMember | ParameterDeclaration | undefined)[];\n }\n interface TupleTypeReference extends TypeReference {\n target: TupleType;\n }\n interface UnionOrIntersectionType extends Type {\n types: Type[];\n }\n interface UnionType extends UnionOrIntersectionType {\n }\n interface IntersectionType extends UnionOrIntersectionType {\n }\n type StructuredType = ObjectType | UnionType | IntersectionType;\n interface EvolvingArrayType extends ObjectType {\n elementType: Type;\n finalArrayType?: Type;\n }\n interface InstantiableType extends Type {\n }\n interface TypeParameter extends InstantiableType {\n }\n interface IndexedAccessType extends InstantiableType {\n objectType: Type;\n indexType: Type;\n constraint?: Type;\n simplifiedForReading?: Type;\n simplifiedForWriting?: Type;\n }\n type TypeVariable = TypeParameter | IndexedAccessType;\n interface IndexType extends InstantiableType {\n type: InstantiableType | UnionOrIntersectionType;\n }\n interface ConditionalRoot {\n node: ConditionalTypeNode;\n checkType: Type;\n extendsType: Type;\n isDistributive: boolean;\n inferTypeParameters?: TypeParameter[];\n outerTypeParameters?: TypeParameter[];\n instantiations?: Map<string, Type>;\n aliasSymbol?: Symbol;\n aliasTypeArguments?: Type[];\n }\n interface ConditionalType extends InstantiableType {\n root: ConditionalRoot;\n checkType: Type;\n extendsType: Type;\n resolvedTrueType?: Type;\n resolvedFalseType?: Type;\n }\n interface TemplateLiteralType extends InstantiableType {\n texts: readonly string[];\n types: readonly Type[];\n }\n interface StringMappingType extends InstantiableType {\n symbol: Symbol;\n type: Type;\n }\n interface SubstitutionType extends InstantiableType {\n objectFlags: ObjectFlags;\n baseType: Type;\n constraint: Type;\n }\n enum SignatureKind {\n Call = 0,\n Construct = 1,\n }\n interface Signature {\n declaration?: SignatureDeclaration | JSDocSignature;\n typeParameters?: readonly TypeParameter[];\n parameters: readonly Symbol[];\n thisParameter?: Symbol;\n }\n interface Signature {\n getDeclaration(): SignatureDeclaration;\n getTypeParameters(): TypeParameter[] | undefined;\n getParameters(): Symbol[];\n getTypeParameterAtPosition(pos: number): Type;\n getReturnType(): Type;\n getDocumentationComment(typeChecker: TypeChecker | undefined): SymbolDisplayPart[];\n getJsDocTags(): JSDocTagInfo[];\n }\n enum IndexKind {\n String = 0,\n Number = 1,\n }\n type ElementWithComputedPropertyName = (ClassElement | ObjectLiteralElement) & {\n name: ComputedPropertyName;\n };\n interface IndexInfo {\n keyType: Type;\n type: Type;\n isReadonly: boolean;\n declaration?: IndexSignatureDeclaration;\n components?: ElementWithComputedPropertyName[];\n }\n enum InferencePriority {\n None = 0,\n NakedTypeVariable = 1,\n SpeculativeTuple = 2,\n SubstituteSource = 4,\n HomomorphicMappedType = 8,\n PartialHomomorphicMappedType = 16,\n MappedTypeConstraint = 32,\n ContravariantConditional = 64,\n ReturnType = 128,\n LiteralKeyof = 256,\n NoConstraints = 512,\n AlwaysStrict = 1024,\n MaxValue = 2048,\n PriorityImpliesCombination = 416,\n Circularity = -1,\n }\n interface FileExtensionInfo {\n extension: string;\n isMixedContent: boolean;\n scriptKind?: ScriptKind;\n }\n interface DiagnosticMessage {\n key: string;\n category: DiagnosticCategory;\n code: number;\n message: string;\n reportsUnnecessary?: {};\n reportsDeprecated?: {};\n }\n /**\n * A linked list of formatted diagnostic messages to be used as part of a multiline message.\n * It is built from the bottom up, leaving the head to be the \"main\" diagnostic.\n * While it seems that DiagnosticMessageChain is structurally similar to DiagnosticMessage,\n * the difference is that messages are all preformatted in DMC.\n */\n interface DiagnosticMessageChain {\n messageText: string;\n category: DiagnosticCategory;\n code: number;\n next?: DiagnosticMessageChain[];\n }\n interface Diagnostic extends DiagnosticRelatedInformation {\n /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */\n reportsUnnecessary?: {};\n reportsDeprecated?: {};\n source?: string;\n relatedInformation?: DiagnosticRelatedInformation[];\n }\n interface DiagnosticRelatedInformation {\n category: DiagnosticCategory;\n code: number;\n file: SourceFile | undefined;\n start: number | undefined;\n length: number | undefined;\n messageText: string | DiagnosticMessageChain;\n }\n interface DiagnosticWithLocation extends Diagnostic {\n file: SourceFile;\n start: number;\n length: number;\n }\n enum DiagnosticCategory {\n Warning = 0,\n Error = 1,\n Suggestion = 2,\n Message = 3,\n }\n enum ModuleResolutionKind {\n Classic = 1,\n /**\n * @deprecated\n * `NodeJs` was renamed to `Node10` to better reflect the version of Node that it targets.\n * Use the new name or consider switching to a modern module resolution target.\n */\n NodeJs = 2,\n Node10 = 2,\n Node16 = 3,\n NodeNext = 99,\n Bundler = 100,\n }\n enum ModuleDetectionKind {\n /**\n * Files with imports, exports and/or import.meta are considered modules\n */\n Legacy = 1,\n /**\n * Legacy, but also files with jsx under react-jsx or react-jsxdev and esm mode files under moduleResolution: node16+\n */\n Auto = 2,\n /**\n * Consider all non-declaration files modules, regardless of present syntax\n */\n Force = 3,\n }\n interface PluginImport {\n name: string;\n }\n interface ProjectReference {\n /** A normalized path on disk */\n path: string;\n /** The path as the user originally wrote it */\n originalPath?: string;\n /** @deprecated */\n prepend?: boolean;\n /** True if it is intended that this reference form a circularity */\n circular?: boolean;\n }\n enum WatchFileKind {\n FixedPollingInterval = 0,\n PriorityPollingInterval = 1,\n DynamicPriorityPolling = 2,\n FixedChunkSizePolling = 3,\n UseFsEvents = 4,\n UseFsEventsOnParentDirectory = 5,\n }\n enum WatchDirectoryKind {\n UseFsEvents = 0,\n FixedPollingInterval = 1,\n DynamicPriorityPolling = 2,\n FixedChunkSizePolling = 3,\n }\n enum PollingWatchKind {\n FixedInterval = 0,\n PriorityInterval = 1,\n DynamicPriority = 2,\n FixedChunkSize = 3,\n }\n type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike<string[]> | PluginImport[] | ProjectReference[] | null | undefined;\n interface CompilerOptions {\n allowImportingTsExtensions?: boolean;\n allowJs?: boolean;\n allowArbitraryExtensions?: boolean;\n allowSyntheticDefaultImports?: boolean;\n allowUmdGlobalAccess?: boolean;\n allowUnreachableCode?: boolean;\n allowUnusedLabels?: boolean;\n alwaysStrict?: boolean;\n baseUrl?: string;\n /** @deprecated */\n charset?: string;\n checkJs?: boolean;\n customConditions?: string[];\n declaration?: boolean;\n declarationMap?: boolean;\n emitDeclarationOnly?: boolean;\n declarationDir?: string;\n disableSizeLimit?: boolean;\n disableSourceOfProjectReferenceRedirect?: boolean;\n disableSolutionSearching?: boolean;\n disableReferencedProjectLoad?: boolean;\n downlevelIteration?: boolean;\n emitBOM?: boolean;\n emitDecoratorMetadata?: boolean;\n exactOptionalPropertyTypes?: boolean;\n experimentalDecorators?: boolean;\n forceConsistentCasingInFileNames?: boolean;\n ignoreDeprecations?: string;\n importHelpers?: boolean;\n /** @deprecated */\n importsNotUsedAsValues?: ImportsNotUsedAsValues;\n inlineSourceMap?: boolean;\n inlineSources?: boolean;\n isolatedModules?: boolean;\n isolatedDeclarations?: boolean;\n jsx?: JsxEmit;\n /** @deprecated */\n keyofStringsOnly?: boolean;\n lib?: string[];\n libReplacement?: boolean;\n locale?: string;\n mapRoot?: string;\n maxNodeModuleJsDepth?: number;\n module?: ModuleKind;\n moduleResolution?: ModuleResolutionKind;\n moduleSuffixes?: string[];\n moduleDetection?: ModuleDetectionKind;\n newLine?: NewLineKind;\n noEmit?: boolean;\n noCheck?: boolean;\n noEmitHelpers?: boolean;\n noEmitOnError?: boolean;\n noErrorTruncation?: boolean;\n noFallthroughCasesInSwitch?: boolean;\n noImplicitAny?: boolean;\n noImplicitReturns?: boolean;\n noImplicitThis?: boolean;\n /** @deprecated */\n noStrictGenericChecks?: boolean;\n noUnusedLocals?: boolean;\n noUnusedParameters?: boolean;\n /** @deprecated */\n noImplicitUseStrict?: boolean;\n noPropertyAccessFromIndexSignature?: boolean;\n assumeChangesOnlyAffectDirectDependencies?: boolean;\n noLib?: boolean;\n noResolve?: boolean;\n noUncheckedIndexedAccess?: boolean;\n /** @deprecated */\n out?: string;\n outDir?: string;\n outFile?: string;\n paths?: MapLike<string[]>;\n preserveConstEnums?: boolean;\n noImplicitOverride?: boolean;\n preserveSymlinks?: boolean;\n /** @deprecated */\n preserveValueImports?: boolean;\n project?: string;\n reactNamespace?: string;\n jsxFactory?: string;\n jsxFragmentFactory?: string;\n jsxImportSource?: string;\n composite?: boolean;\n incremental?: boolean;\n tsBuildInfoFile?: string;\n removeComments?: boolean;\n resolvePackageJsonExports?: boolean;\n resolvePackageJsonImports?: boolean;\n rewriteRelativeImportExtensions?: boolean;\n rootDir?: string;\n rootDirs?: string[];\n skipLibCheck?: boolean;\n skipDefaultLibCheck?: boolean;\n sourceMap?: boolean;\n sourceRoot?: string;\n strict?: boolean;\n strictFunctionTypes?: boolean;\n strictBindCallApply?: boolean;\n strictNullChecks?: boolean;\n strictPropertyInitialization?: boolean;\n strictBuiltinIteratorReturn?: boolean;\n stripInternal?: boolean;\n /** @deprecated */\n suppressExcessPropertyErrors?: boolean;\n /** @deprecated */\n suppressImplicitAnyIndexErrors?: boolean;\n target?: ScriptTarget;\n traceResolution?: boolean;\n useUnknownInCatchVariables?: boolean;\n noUncheckedSideEffectImports?: boolean;\n resolveJsonModule?: boolean;\n types?: string[];\n /** Paths used to compute primary types search locations */\n typeRoots?: string[];\n verbatimModuleSyntax?: boolean;\n erasableSyntaxOnly?: boolean;\n esModuleInterop?: boolean;\n useDefineForClassFields?: boolean;\n [option: string]: CompilerOptionsValue | TsConfigSourceFile | undefined;\n }\n interface WatchOptions {\n watchFile?: WatchFileKind;\n watchDirectory?: WatchDirectoryKind;\n fallbackPolling?: PollingWatchKind;\n synchronousWatchDirectory?: boolean;\n excludeDirectories?: string[];\n excludeFiles?: string[];\n [option: string]: CompilerOptionsValue | undefined;\n }\n interface TypeAcquisition {\n enable?: boolean;\n include?: string[];\n exclude?: string[];\n disableFilenameBasedTypeAcquisition?: boolean;\n [option: string]: CompilerOptionsValue | undefined;\n }\n enum ModuleKind {\n None = 0,\n CommonJS = 1,\n AMD = 2,\n UMD = 3,\n System = 4,\n ES2015 = 5,\n ES2020 = 6,\n ES2022 = 7,\n ESNext = 99,\n Node16 = 100,\n Node18 = 101,\n NodeNext = 199,\n Preserve = 200,\n }\n enum JsxEmit {\n None = 0,\n Preserve = 1,\n React = 2,\n ReactNative = 3,\n ReactJSX = 4,\n ReactJSXDev = 5,\n }\n /** @deprecated */\n enum ImportsNotUsedAsValues {\n Remove = 0,\n Preserve = 1,\n Error = 2,\n }\n enum NewLineKind {\n CarriageReturnLineFeed = 0,\n LineFeed = 1,\n }\n interface LineAndCharacter {\n /** 0-based. */\n line: number;\n character: number;\n }\n enum ScriptKind {\n Unknown = 0,\n JS = 1,\n JSX = 2,\n TS = 3,\n TSX = 4,\n External = 5,\n JSON = 6,\n /**\n * Used on extensions that doesn't define the ScriptKind but the content defines it.\n * Deferred extensions are going to be included in all project contexts.\n */\n Deferred = 7,\n }\n enum ScriptTarget {\n /** @deprecated */\n ES3 = 0,\n ES5 = 1,\n ES2015 = 2,\n ES2016 = 3,\n ES2017 = 4,\n ES2018 = 5,\n ES2019 = 6,\n ES2020 = 7,\n ES2021 = 8,\n ES2022 = 9,\n ES2023 = 10,\n ES2024 = 11,\n ESNext = 99,\n JSON = 100,\n Latest = 99,\n }\n enum LanguageVariant {\n Standard = 0,\n JSX = 1,\n }\n /** Either a parsed command line or a parsed tsconfig.json */\n interface ParsedCommandLine {\n options: CompilerOptions;\n typeAcquisition?: TypeAcquisition;\n fileNames: string[];\n projectReferences?: readonly ProjectReference[];\n watchOptions?: WatchOptions;\n raw?: any;\n errors: Diagnostic[];\n wildcardDirectories?: MapLike<WatchDirectoryFlags>;\n compileOnSave?: boolean;\n }\n enum WatchDirectoryFlags {\n None = 0,\n Recursive = 1,\n }\n interface CreateProgramOptions {\n rootNames: readonly string[];\n options: CompilerOptions;\n projectReferences?: readonly ProjectReference[];\n host?: CompilerHost;\n oldProgram?: Program;\n configFileParsingDiagnostics?: readonly Diagnostic[];\n }\n interface ModuleResolutionHost {\n fileExists(fileName: string): boolean;\n readFile(fileName: string): string | undefined;\n trace?(s: string): void;\n directoryExists?(directoryName: string): boolean;\n /**\n * Resolve a symbolic link.\n * @see https://nodejs.org/api/fs.html#fs_fs_realpathsync_path_options\n */\n realpath?(path: string): string;\n getCurrentDirectory?(): string;\n getDirectories?(path: string): string[];\n useCaseSensitiveFileNames?: boolean | (() => boolean) | undefined;\n }\n /**\n * Used by services to specify the minimum host area required to set up source files under any compilation settings\n */\n interface MinimalResolutionCacheHost extends ModuleResolutionHost {\n getCompilationSettings(): CompilerOptions;\n getCompilerHost?(): CompilerHost | undefined;\n }\n /**\n * Represents the result of module resolution.\n * Module resolution will pick up tsx/jsx/js files even if '--jsx' and '--allowJs' are turned off.\n * The Program will then filter results based on these flags.\n *\n * Prefer to return a `ResolvedModuleFull` so that the file type does not have to be inferred.\n */\n interface ResolvedModule {\n /** Path of the file the module was resolved to. */\n resolvedFileName: string;\n /** True if `resolvedFileName` comes from `node_modules`. */\n isExternalLibraryImport?: boolean;\n /**\n * True if the original module reference used a .ts extension to refer directly to a .ts file,\n * which should produce an error during checking if emit is enabled.\n */\n resolvedUsingTsExtension?: boolean;\n }\n /**\n * ResolvedModule with an explicitly provided `extension` property.\n * Prefer this over `ResolvedModule`.\n * If changing this, remember to change `moduleResolutionIsEqualTo`.\n */\n interface ResolvedModuleFull extends ResolvedModule {\n /**\n * Extension of resolvedFileName. This must match what's at the end of resolvedFileName.\n * This is optional for backwards-compatibility, but will be added if not provided.\n */\n extension: string;\n packageId?: PackageId;\n }\n /**\n * Unique identifier with a package name and version.\n * If changing this, remember to change `packageIdIsEqual`.\n */\n interface PackageId {\n /**\n * Name of the package.\n * Should not include `@types`.\n * If accessing a non-index file, this should include its name e.g. \"foo/bar\".\n */\n name: string;\n /**\n * Name of a submodule within this package.\n * May be \"\".\n */\n subModuleName: string;\n /** Version of the package, e.g. \"1.2.3\" */\n version: string;\n }\n enum Extension {\n Ts = \".ts\",\n Tsx = \".tsx\",\n Dts = \".d.ts\",\n Js = \".js\",\n Jsx = \".jsx\",\n Json = \".json\",\n TsBuildInfo = \".tsbuildinfo\",\n Mjs = \".mjs\",\n Mts = \".mts\",\n Dmts = \".d.mts\",\n Cjs = \".cjs\",\n Cts = \".cts\",\n Dcts = \".d.cts\",\n }\n interface ResolvedModuleWithFailedLookupLocations {\n readonly resolvedModule: ResolvedModuleFull | undefined;\n }\n interface ResolvedTypeReferenceDirective {\n primary: boolean;\n resolvedFileName: string | undefined;\n packageId?: PackageId;\n /** True if `resolvedFileName` comes from `node_modules`. */\n isExternalLibraryImport?: boolean;\n }\n interface ResolvedTypeReferenceDirectiveWithFailedLookupLocations {\n readonly resolvedTypeReferenceDirective: ResolvedTypeReferenceDirective | undefined;\n }\n interface CompilerHost extends ModuleResolutionHost {\n getSourceFile(fileName: string, languageVersionOrOptions: ScriptTarget | CreateSourceFileOptions, onError?: (message: string) => void, shouldCreateNewSourceFile?: boolean): SourceFile | undefined;\n getSourceFileByPath?(fileName: string, path: Path, languageVersionOrOptions: ScriptTarget | CreateSourceFileOptions, onError?: (message: string) => void, shouldCreateNewSourceFile?: boolean): SourceFile | undefined;\n getCancellationToken?(): CancellationToken;\n getDefaultLibFileName(options: CompilerOptions): string;\n getDefaultLibLocation?(): string;\n writeFile: WriteFileCallback;\n getCurrentDirectory(): string;\n getCanonicalFileName(fileName: string): string;\n useCaseSensitiveFileNames(): boolean;\n getNewLine(): string;\n readDirectory?(rootDir: string, extensions: readonly string[], excludes: readonly string[] | undefined, includes: readonly string[], depth?: number): string[];\n /** @deprecated supply resolveModuleNameLiterals instead for resolution that can handle newer resolution modes like nodenext */\n resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames: string[] | undefined, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingSourceFile?: SourceFile): (ResolvedModule | undefined)[];\n /**\n * Returns the module resolution cache used by a provided `resolveModuleNames` implementation so that any non-name module resolution operations (eg, package.json lookup) can reuse it\n */\n getModuleResolutionCache?(): ModuleResolutionCache | undefined;\n /**\n * @deprecated supply resolveTypeReferenceDirectiveReferences instead for resolution that can handle newer resolution modes like nodenext\n *\n * This method is a companion for 'resolveModuleNames' and is used to resolve 'types' references to actual type declaration files\n */\n resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[] | readonly FileReference[], containingFile: string, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingFileMode?: ResolutionMode): (ResolvedTypeReferenceDirective | undefined)[];\n resolveModuleNameLiterals?(moduleLiterals: readonly StringLiteralLike[], containingFile: string, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingSourceFile: SourceFile, reusedNames: readonly StringLiteralLike[] | undefined): readonly ResolvedModuleWithFailedLookupLocations[];\n resolveTypeReferenceDirectiveReferences?<T extends FileReference | string>(typeDirectiveReferences: readonly T[], containingFile: string, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingSourceFile: SourceFile | undefined, reusedNames: readonly T[] | undefined): readonly ResolvedTypeReferenceDirectiveWithFailedLookupLocations[];\n getEnvironmentVariable?(name: string): string | undefined;\n /** If provided along with custom resolveModuleNames or resolveTypeReferenceDirectives, used to determine if unchanged file path needs to re-resolve modules/type reference directives */\n hasInvalidatedResolutions?(filePath: Path): boolean;\n createHash?(data: string): string;\n getParsedCommandLine?(fileName: string): ParsedCommandLine | undefined;\n jsDocParsingMode?: JSDocParsingMode;\n }\n interface SourceMapRange extends TextRange {\n source?: SourceMapSource;\n }\n interface SourceMapSource {\n fileName: string;\n text: string;\n skipTrivia?: (pos: number) => number;\n }\n interface SourceMapSource {\n getLineAndCharacterOfPosition(pos: number): LineAndCharacter;\n }\n enum EmitFlags {\n None = 0,\n SingleLine = 1,\n MultiLine = 2,\n AdviseOnEmitNode = 4,\n NoSubstitution = 8,\n CapturesThis = 16,\n NoLeadingSourceMap = 32,\n NoTrailingSourceMap = 64,\n NoSourceMap = 96,\n NoNestedSourceMaps = 128,\n NoTokenLeadingSourceMaps = 256,\n NoTokenTrailingSourceMaps = 512,\n NoTokenSourceMaps = 768,\n NoLeadingComments = 1024,\n NoTrailingComments = 2048,\n NoComments = 3072,\n NoNestedComments = 4096,\n HelperName = 8192,\n ExportName = 16384,\n LocalName = 32768,\n InternalName = 65536,\n Indented = 131072,\n NoIndentation = 262144,\n AsyncFunctionBody = 524288,\n ReuseTempVariableScope = 1048576,\n CustomPrologue = 2097152,\n NoHoisting = 4194304,\n Iterator = 8388608,\n NoAsciiEscaping = 16777216,\n }\n interface EmitHelperBase {\n readonly name: string;\n readonly scoped: boolean;\n readonly text: string | ((node: EmitHelperUniqueNameCallback) => string);\n readonly priority?: number;\n readonly dependencies?: EmitHelper[];\n }\n interface ScopedEmitHelper extends EmitHelperBase {\n readonly scoped: true;\n }\n interface UnscopedEmitHelper extends EmitHelperBase {\n readonly scoped: false;\n readonly text: string;\n }\n type EmitHelper = ScopedEmitHelper | UnscopedEmitHelper;\n type EmitHelperUniqueNameCallback = (name: string) => string;\n enum EmitHint {\n SourceFile = 0,\n Expression = 1,\n IdentifierName = 2,\n MappedTypeParameter = 3,\n Unspecified = 4,\n EmbeddedStatement = 5,\n JsxAttributeValue = 6,\n ImportTypeNodeAttributes = 7,\n }\n enum OuterExpressionKinds {\n Parentheses = 1,\n TypeAssertions = 2,\n NonNullAssertions = 4,\n PartiallyEmittedExpressions = 8,\n ExpressionsWithTypeArguments = 16,\n Satisfies = 32,\n Assertions = 38,\n All = 63,\n ExcludeJSDocTypeAssertion = -2147483648,\n }\n type ImmediatelyInvokedFunctionExpression = CallExpression & {\n readonly expression: FunctionExpression;\n };\n type ImmediatelyInvokedArrowFunction = CallExpression & {\n readonly expression: ParenthesizedExpression & {\n readonly expression: ArrowFunction;\n };\n };\n interface NodeFactory {\n createNodeArray<T extends Node>(elements?: readonly T[], hasTrailingComma?: boolean): NodeArray<T>;\n createNumericLiteral(value: string | number, numericLiteralFlags?: TokenFlags): NumericLiteral;\n createBigIntLiteral(value: string | PseudoBigInt): BigIntLiteral;\n createStringLiteral(text: string, isSingleQuote?: boolean): StringLiteral;\n createStringLiteralFromNode(sourceNode: PropertyNameLiteral | PrivateIdentifier, isSingleQuote?: boolean): StringLiteral;\n createRegularExpressionLiteral(text: string): RegularExpressionLiteral;\n createIdentifier(text: string): Identifier;\n /**\n * Create a unique temporary variable.\n * @param recordTempVariable An optional callback used to record the temporary variable name. This\n * should usually be a reference to `hoistVariableDeclaration` from a `TransformationContext`, but\n * can be `undefined` if you plan to record the temporary variable manually.\n * @param reservedInNestedScopes When `true`, reserves the temporary variable name in all nested scopes\n * during emit so that the variable can be referenced in a nested function body. This is an alternative to\n * setting `EmitFlags.ReuseTempVariableScope` on the nested function itself.\n */\n createTempVariable(recordTempVariable: ((node: Identifier) => void) | undefined, reservedInNestedScopes?: boolean): Identifier;\n /**\n * Create a unique temporary variable for use in a loop.\n * @param reservedInNestedScopes When `true`, reserves the temporary variable name in all nested scopes\n * during emit so that the variable can be referenced in a nested function body. This is an alternative to\n * setting `EmitFlags.ReuseTempVariableScope` on the nested function itself.\n */\n createLoopVariable(reservedInNestedScopes?: boolean): Identifier;\n /** Create a unique name based on the supplied text. */\n createUniqueName(text: string, flags?: GeneratedIdentifierFlags): Identifier;\n /** Create a unique name generated for a node. */\n getGeneratedNameForNode(node: Node | undefined, flags?: GeneratedIdentifierFlags): Identifier;\n createPrivateIdentifier(text: string): PrivateIdentifier;\n createUniquePrivateName(text?: string): PrivateIdentifier;\n getGeneratedPrivateNameForNode(node: Node): PrivateIdentifier;\n createToken(token: SyntaxKind.SuperKeyword): SuperExpression;\n createToken(token: SyntaxKind.ThisKeyword): ThisExpression;\n createToken(token: SyntaxKind.NullKeyword): NullLiteral;\n createToken(token: SyntaxKind.TrueKeyword): TrueLiteral;\n createToken(token: SyntaxKind.FalseKeyword): FalseLiteral;\n createToken(token: SyntaxKind.EndOfFileToken): EndOfFileToken;\n createToken(token: SyntaxKind.Unknown): Token<SyntaxKind.Unknown>;\n createToken<TKind extends PunctuationSyntaxKind>(token: TKind): PunctuationToken<TKind>;\n createToken<TKind extends KeywordTypeSyntaxKind>(token: TKind): KeywordTypeNode<TKind>;\n createToken<TKind extends ModifierSyntaxKind>(token: TKind): ModifierToken<TKind>;\n createToken<TKind extends KeywordSyntaxKind>(token: TKind): KeywordToken<TKind>;\n createSuper(): SuperExpression;\n createThis(): ThisExpression;\n createNull(): NullLiteral;\n createTrue(): TrueLiteral;\n createFalse(): FalseLiteral;\n createModifier<T extends ModifierSyntaxKind>(kind: T): ModifierToken<T>;\n createModifiersFromModifierFlags(flags: ModifierFlags): Modifier[] | undefined;\n createQualifiedName(left: EntityName, right: string | Identifier): QualifiedName;\n updateQualifiedName(node: QualifiedName, left: EntityName, right: Identifier): QualifiedName;\n createComputedPropertyName(expression: Expression): ComputedPropertyName;\n updateComputedPropertyName(node: ComputedPropertyName, expression: Expression): ComputedPropertyName;\n createTypeParameterDeclaration(modifiers: readonly Modifier[] | undefined, name: string | Identifier, constraint?: TypeNode, defaultType?: TypeNode): TypeParameterDeclaration;\n updateTypeParameterDeclaration(node: TypeParameterDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration;\n createParameterDeclaration(modifiers: readonly ModifierLike[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken, type?: TypeNode, initializer?: Expression): ParameterDeclaration;\n updateParameterDeclaration(node: ParameterDeclaration, modifiers: readonly ModifierLike[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration;\n createDecorator(expression: Expression): Decorator;\n updateDecorator(node: Decorator, expression: Expression): Decorator;\n createPropertySignature(modifiers: readonly Modifier[] | undefined, name: PropertyName | string, questionToken: QuestionToken | undefined, type: TypeNode | undefined): PropertySignature;\n updatePropertySignature(node: PropertySignature, modifiers: readonly Modifier[] | undefined, name: PropertyName, questionToken: QuestionToken | undefined, type: TypeNode | undefined): PropertySignature;\n createPropertyDeclaration(modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;\n updatePropertyDeclaration(node: PropertyDeclaration, modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration;\n createMethodSignature(modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined): MethodSignature;\n updateMethodSignature(node: MethodSignature, modifiers: readonly Modifier[] | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode | undefined): MethodSignature;\n createMethodDeclaration(modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration;\n updateMethodDeclaration(node: MethodDeclaration, modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration;\n createConstructorDeclaration(modifiers: readonly ModifierLike[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;\n updateConstructorDeclaration(node: ConstructorDeclaration, modifiers: readonly ModifierLike[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration;\n createGetAccessorDeclaration(modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;\n updateGetAccessorDeclaration(node: GetAccessorDeclaration, modifiers: readonly ModifierLike[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration;\n createSetAccessorDeclaration(modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;\n updateSetAccessorDeclaration(node: SetAccessorDeclaration, modifiers: readonly ModifierLike[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration;\n createCallSignature(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined): CallSignatureDeclaration;\n updateCallSignature(node: CallSignatureDeclaration, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode | undefined): CallSignatureDeclaration;\n createConstructSignature(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined): ConstructSignatureDeclaration;\n updateConstructSignature(node: ConstructSignatureDeclaration, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode | undefined): ConstructSignatureDeclaration;\n createIndexSignature(modifiers: readonly ModifierLike[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;\n updateIndexSignature(node: IndexSignatureDeclaration, modifiers: readonly ModifierLike[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;\n createTemplateLiteralTypeSpan(type: TypeNode, literal: TemplateMiddle | TemplateTail): TemplateLiteralTypeSpan;\n updateTemplateLiteralTypeSpan(node: TemplateLiteralTypeSpan, type: TypeNode, literal: TemplateMiddle | TemplateTail): TemplateLiteralTypeSpan;\n createClassStaticBlockDeclaration(body: Block): ClassStaticBlockDeclaration;\n updateClassStaticBlockDeclaration(node: ClassStaticBlockDeclaration, body: Block): ClassStaticBlockDeclaration;\n createKeywordTypeNode<TKind extends KeywordTypeSyntaxKind>(kind: TKind): KeywordTypeNode<TKind>;\n createTypePredicateNode(assertsModifier: AssertsKeyword | undefined, parameterName: Identifier | ThisTypeNode | string, type: TypeNode | undefined): TypePredicateNode;\n updateTypePredicateNode(node: TypePredicateNode, assertsModifier: AssertsKeyword | undefined, parameterName: Identifier | ThisTypeNode, type: TypeNode | undefined): TypePredicateNode;\n createTypeReferenceNode(typeName: string | EntityName, typeArguments?: readonly TypeNode[]): TypeReferenceNode;\n updateTypeReferenceNode(node: TypeReferenceNode, typeName: EntityName, typeArguments: NodeArray<TypeNode> | undefined): TypeReferenceNode;\n createFunctionTypeNode(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): FunctionTypeNode;\n updateFunctionTypeNode(node: FunctionTypeNode, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode): FunctionTypeNode;\n createConstructorTypeNode(modifiers: readonly Modifier[] | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): ConstructorTypeNode;\n updateConstructorTypeNode(node: ConstructorTypeNode, modifiers: readonly Modifier[] | undefined, typeParameters: NodeArray<TypeParameterDeclaration> | undefined, parameters: NodeArray<ParameterDeclaration>, type: TypeNode): ConstructorTypeNode;\n createTypeQueryNode(exprName: EntityName, typeArguments?: readonly TypeNode[]): TypeQueryNode;\n updateTypeQueryNode(node: TypeQueryNode, exprName: EntityName, typeArguments?: readonly TypeNode[]): TypeQueryNode;\n createTypeLiteralNode(members: readonly TypeElement[] | undefined): TypeLiteralNode;\n updateTypeLiteralNode(node: TypeLiteralNode, members: NodeArray<TypeElement>): TypeLiteralNode;\n createArrayTypeNode(elementType: TypeNode): ArrayTypeNode;\n updateArrayTypeNode(node: ArrayTypeNode, elementType: TypeNode): ArrayTypeNode;\n createTupleTypeNode(elements: readonly (TypeNode | NamedTupleMember)[]): TupleTypeNode;\n updateTupleTypeNode(node: TupleTypeNode, elements: readonly (TypeNode | NamedTupleMember)[]): TupleTypeNode;\n createNamedTupleMember(dotDotDotToken: DotDotDotToken | undefined, name: Identifier, questionToken: QuestionToken | undefined, type: TypeNode): NamedTupleMember;\n updateNamedTupleMember(node: NamedTupleMember, dotDotDotToken: DotDotDotToken | undefined, name: Identifier, questionToken: QuestionToken | undefined, type: TypeNode): NamedTupleMember;\n createOptionalTypeNode(type: TypeNode): OptionalTypeNode;\n updateOptionalTypeNode(node: OptionalTypeNode, type: TypeNode): OptionalTypeNode;\n createRestTypeNode(type: TypeNode): RestTypeNode;\n updateRestTypeNode(node: RestTypeNode, type: TypeNode): RestTypeNode;\n createUnionTypeNode(types: readonly TypeNode[]): UnionTypeNode;\n updateUnionTypeNode(node: UnionTypeNode, types: NodeArray<TypeNode>): UnionTypeNode;\n createIntersectionTypeNode(types: readonly TypeNode[]): IntersectionTypeNode;\n updateIntersectionTypeNode(node: IntersectionTypeNode, types: NodeArray<TypeNode>): IntersectionTypeNode;\n createConditionalTypeNode(checkType: TypeNode, extendsType: TypeNode, trueType: TypeNode, falseType: TypeNode): ConditionalTypeNode;\n updateConditionalTypeNode(node: ConditionalTypeNode, checkType: TypeNode, extendsType: TypeNode, trueType: TypeNode, falseType: TypeNode): ConditionalTypeNode;\n createInferTypeNode(typeParameter: TypeParameterDeclaration): InferTypeNode;\n updateInferTypeNode(node: InferTypeNode, typeParameter: TypeParameterDeclaration): InferTypeNode;\n createImportTypeNode(argument: TypeNode, attributes?: ImportAttributes, qualifier?: EntityName, typeArguments?: readonly TypeNode[], isTypeOf?: boolean): ImportTypeNode;\n updateImportTypeNode(node: ImportTypeNode, argument: TypeNode, attributes: ImportAttributes | undefined, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean): ImportTypeNode;\n createParenthesizedType(type: TypeNode): ParenthesizedTypeNode;\n updateParenthesizedType(node: ParenthesizedTypeNode, type: TypeNode): ParenthesizedTypeNode;\n createThisTypeNode(): ThisTypeNode;\n createTypeOperatorNode(operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.ReadonlyKeyword, type: TypeNode): TypeOperatorNode;\n updateTypeOperatorNode(node: TypeOperatorNode, type: TypeNode): TypeOperatorNode;\n createIndexedAccessTypeNode(objectType: TypeNode, indexType: TypeNode): IndexedAccessTypeNode;\n updateIndexedAccessTypeNode(node: IndexedAccessTypeNode, objectType: TypeNode, indexType: TypeNode): IndexedAccessTypeNode;\n createMappedTypeNode(readonlyToken: ReadonlyKeyword | PlusToken | MinusToken | undefined, typeParameter: TypeParameterDeclaration, nameType: TypeNode | undefined, questionToken: QuestionToken | PlusToken | MinusToken | undefined, type: TypeNode | undefined, members: NodeArray<TypeElement> | undefined): MappedTypeNode;\n updateMappedTypeNode(node: MappedTypeNode, readonlyToken: ReadonlyKeyword | PlusToken | MinusToken | undefined, typeParameter: TypeParameterDeclaration, nameType: TypeNode | undefined, questionToken: QuestionToken | PlusToken | MinusToken | undefined, type: TypeNode | undefined, members: NodeArray<TypeElement> | undefined): MappedTypeNode;\n createLiteralTypeNode(literal: LiteralTypeNode[\"literal\"]): LiteralTypeNode;\n updateLiteralTypeNode(node: LiteralTypeNode, literal: LiteralTypeNode[\"literal\"]): LiteralTypeNode;\n createTemplateLiteralType(head: TemplateHead, templateSpans: readonly TemplateLiteralTypeSpan[]): TemplateLiteralTypeNode;\n updateTemplateLiteralType(node: TemplateLiteralTypeNode, head: TemplateHead, templateSpans: readonly TemplateLiteralTypeSpan[]): TemplateLiteralTypeNode;\n createObjectBindingPattern(elements: readonly BindingElement[]): ObjectBindingPattern;\n updateObjectBindingPattern(node: ObjectBindingPattern, elements: readonly BindingElement[]): ObjectBindingPattern;\n createArrayBindingPattern(elements: readonly ArrayBindingElement[]): ArrayBindingPattern;\n updateArrayBindingPattern(node: ArrayBindingPattern, elements: readonly ArrayBindingElement[]): ArrayBindingPattern;\n createBindingElement(dotDotDotToken: DotDotDotToken | undefined, propertyName: string | PropertyName | undefined, name: string | BindingName, initializer?: Expression): BindingElement;\n updateBindingElement(node: BindingElement, dotDotDotToken: DotDotDotToken | undefined, propertyName: PropertyName | undefined, name: BindingName, initializer: Expression | undefined): BindingElement;\n createArrayLiteralExpression(elements?: readonly Expression[], multiLine?: boolean): ArrayLiteralExpression;\n updateArrayLiteralExpression(node: ArrayLiteralExpression, elements: readonly Expression[]): ArrayLiteralExpression;\n createObjectLiteralExpression(properties?: readonly ObjectLiteralElementLike[], multiLine?: boolean): ObjectLiteralExpression;\n updateObjectLiteralExpression(node: ObjectLiteralExpression, properties: readonly ObjectLiteralElementLike[]): ObjectLiteralExpression;\n createPropertyAccessExpression(expression: Expression, name: string | MemberName): PropertyAccessExpression;\n updatePropertyAccessExpression(node: PropertyAccessExpression, expression: Expression, name: MemberName): PropertyAccessExpression;\n createPropertyAccessChain(expression: Expression, questionDotToken: QuestionDotToken | undefined, name: string | MemberName): PropertyAccessChain;\n updatePropertyAccessChain(node: PropertyAccessChain, expression: Expression, questionDotToken: QuestionDotToken | undefined, name: MemberName): PropertyAccessChain;\n createElementAccessExpression(expression: Expression, index: number | Expression): ElementAccessExpression;\n updateElementAccessExpression(node: ElementAccessExpression, expression: Expression, argumentExpression: Expression): ElementAccessExpression;\n createElementAccessChain(expression: Expression, questionDotToken: QuestionDotToken | undefined, index: number | Expression): ElementAccessChain;\n updateElementAccessChain(node: ElementAccessChain, expression: Expression, questionDotToken: QuestionDotToken | undefined, argumentExpression: Expression): ElementAccessChain;\n createCallExpression(expression: Expression, typeArguments: readonly TypeNode[] | undefined, argumentsArray: readonly Expression[] | undefined): CallExpression;\n updateCallExpression(node: CallExpression, expression: Expression, typeArguments: readonly TypeNode[] | undefined, argumentsArray: readonly Expression[]): CallExpression;\n createCallChain(expression: Expression, questionDotToken: QuestionDotToken | undefined, typeArguments: readonly TypeNode[] | undefined, argumentsArray: readonly Expression[] | undefined): CallChain;\n updateCallChain(node: CallChain, expression: Expression, questionDotToken: QuestionDotToken | undefined, typeArguments: readonly TypeNode[] | undefined, argumentsArray: readonly Expression[]): CallChain;\n createNewExpression(expression: Expression, typeArguments: readonly TypeNode[] | undefined, argumentsArray: readonly Expression[] | undefined): NewExpression;\n updateNewExpression(node: NewExpression, expression: Expression, typeArguments: readonly TypeNode[] | undefined, argumentsArray: readonly Expression[] | undefined): NewExpression;\n createTaggedTemplateExpression(tag: Expression, typeArguments: readonly TypeNode[] | undefined, template: TemplateLiteral): TaggedTemplateExpression;\n updateTaggedTemplateExpression(node: TaggedTemplateExpression, tag: Expression, typeArguments: readonly TypeNode[] | undefined, template: TemplateLiteral): TaggedTemplateExpression;\n createTypeAssertion(type: TypeNode, expression: Expression): TypeAssertion;\n updateTypeAssertion(node: TypeAssertion, type: TypeNode, expression: Expression): TypeAssertion;\n createParenthesizedExpression(expression: Expression): ParenthesizedExpression;\n updateParenthesizedExpression(node: ParenthesizedExpression, expression: Expression): ParenthesizedExpression;\n createFunctionExpression(modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[] | undefined, type: TypeNode | undefined, body: Block): FunctionExpression;\n updateFunctionExpression(node: FunctionExpression, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block): FunctionExpression;\n createArrowFunction(modifiers: readonly Modifier[] | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, equalsGreaterThanToken: EqualsGreaterThanToken | undefined, body: ConciseBody): ArrowFunction;\n updateArrowFunction(node: ArrowFunction, modifiers: readonly Modifier[] | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, equalsGreaterThanToken: EqualsGreaterThanToken, body: ConciseBody): ArrowFunction;\n createDeleteExpression(expression: Expression): DeleteExpression;\n updateDeleteExpression(node: DeleteExpression, expression: Expression): DeleteExpression;\n createTypeOfExpression(expression: Expression): TypeOfExpression;\n updateTypeOfExpression(node: TypeOfExpression, expression: Expression): TypeOfExpression;\n createVoidExpression(expression: Expression): VoidExpression;\n updateVoidExpression(node: VoidExpression, expression: Expression): VoidExpression;\n createAwaitExpression(expression: Expression): AwaitExpression;\n updateAwaitExpression(node: AwaitExpression, expression: Expression): AwaitExpression;\n createPrefixUnaryExpression(operator: PrefixUnaryOperator, operand: Expression): PrefixUnaryExpression;\n updatePrefixUnaryExpression(node: PrefixUnaryExpression, operand: Expression): PrefixUnaryExpression;\n createPostfixUnaryExpression(operand: Expression, operator: PostfixUnaryOperator): PostfixUnaryExpression;\n updatePostfixUnaryExpression(node: PostfixUnaryExpression, operand: Expression): PostfixUnaryExpression;\n createBinaryExpression(left: Expression, operator: BinaryOperator | BinaryOperatorToken, right: Expression): BinaryExpression;\n updateBinaryExpression(node: BinaryExpression, left: Expression, operator: BinaryOperator | BinaryOperatorToken, right: Expression): BinaryExpression;\n createConditionalExpression(condition: Expression, questionToken: QuestionToken | undefined, whenTrue: Expression, colonToken: ColonToken | undefined, whenFalse: Expression): ConditionalExpression;\n updateConditionalExpression(node: ConditionalExpression, condition: Expression, questionToken: QuestionToken, whenTrue: Expression, colonToken: ColonToken, whenFalse: Expression): ConditionalExpression;\n createTemplateExpression(head: TemplateHead, templateSpans: readonly TemplateSpan[]): TemplateExpression;\n updateTemplateExpression(node: TemplateExpression, head: TemplateHead, templateSpans: readonly TemplateSpan[]): TemplateExpression;\n createTemplateHead(text: string, rawText?: string, templateFlags?: TokenFlags): TemplateHead;\n createTemplateHead(text: string | undefined, rawText: string, templateFlags?: TokenFlags): TemplateHead;\n createTemplateMiddle(text: string, rawText?: string, templateFlags?: TokenFlags): TemplateMiddle;\n createTemplateMiddle(text: string | undefined, rawText: string, templateFlags?: TokenFlags): TemplateMiddle;\n createTemplateTail(text: string, rawText?: string, templateFlags?: TokenFlags): TemplateTail;\n createTemplateTail(text: string | undefined, rawText: string, templateFlags?: TokenFlags): TemplateTail;\n createNoSubstitutionTemplateLiteral(text: string, rawText?: string): NoSubstitutionTemplateLiteral;\n createNoSubstitutionTemplateLiteral(text: string | undefined, rawText: string): NoSubstitutionTemplateLiteral;\n createYieldExpression(asteriskToken: AsteriskToken, expression: Expression): YieldExpression;\n createYieldExpression(asteriskToken: undefined, expression: Expression | undefined): YieldExpression;\n updateYieldExpression(node: YieldExpression, asteriskToken: AsteriskToken | undefined, expression: Expression | undefined): YieldExpression;\n createSpreadElement(expression: Expression): SpreadElement;\n updateSpreadElement(node: SpreadElement, expression: Expression): SpreadElement;\n createClassExpression(modifiers: readonly ModifierLike[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression;\n updateClassExpression(node: ClassExpression, modifiers: readonly ModifierLike[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression;\n createOmittedExpression(): OmittedExpression;\n createExpressionWithTypeArguments(expression: Expression, typeArguments: readonly TypeNode[] | undefined): ExpressionWithTypeArguments;\n updateExpressionWithTypeArguments(node: ExpressionWithTypeArguments, expression: Expression, typeArguments: readonly TypeNode[] | undefined): ExpressionWithTypeArguments;\n createAsExpression(expression: Expression, type: TypeNode): AsExpression;\n updateAsExpression(node: AsExpression, expression: Expression, type: TypeNode): AsExpression;\n createNonNullExpression(expression: Expression): NonNullExpression;\n updateNonNullExpression(node: NonNullExpression, expression: Expression): NonNullExpression;\n createNonNullChain(expression: Expression): NonNullChain;\n updateNonNullChain(node: NonNullChain, expression: Expression): NonNullChain;\n createMetaProperty(keywordToken: MetaProperty[\"keywordToken\"], name: Identifier): MetaProperty;\n updateMetaProperty(node: MetaProperty, name: Identifier): MetaProperty;\n createSatisfiesExpression(expression: Expression, type: TypeNode): SatisfiesExpression;\n updateSatisfiesExpression(node: SatisfiesExpression, expression: Expression, type: TypeNode): SatisfiesExpression;\n createTemplateSpan(expression: Expression, literal: TemplateMiddle | TemplateTail): TemplateSpan;\n updateTemplateSpan(node: TemplateSpan, expression: Expression, literal: TemplateMiddle | TemplateTail): TemplateSpan;\n createSemicolonClassElement(): SemicolonClassElement;\n createBlock(statements: readonly Statement[], multiLine?: boolean): Block;\n updateBlock(node: Block, statements: readonly Statement[]): Block;\n createVariableStatement(modifiers: readonly ModifierLike[] | undefined, declarationList: VariableDeclarationList | readonly VariableDeclaration[]): VariableStatement;\n updateVariableStatement(node: VariableStatement, modifiers: readonly ModifierLike[] | undefined, declarationList: VariableDeclarationList): VariableStatement;\n createEmptyStatement(): EmptyStatement;\n createExpressionStatement(expression: Expression): ExpressionStatement;\n updateExpressionStatement(node: ExpressionStatement, expression: Expression): ExpressionStatement;\n createIfStatement(expression: Expression, thenStatement: Statement, elseStatement?: Statement): IfStatement;\n updateIfStatement(node: IfStatement, expression: Expression, thenStatement: Statement, elseStatement: Statement | undefined): IfStatement;\n createDoStatement(statement: Statement, expression: Expression): DoStatement;\n updateDoStatement(node: DoStatement, statement: Statement, expression: Expression): DoStatement;\n createWhileStatement(expression: Expression, statement: Statement): WhileStatement;\n updateWhileStatement(node: WhileStatement, expression: Expression, statement: Statement): WhileStatement;\n createForStatement(initializer: ForInitializer | undefined, condition: Expression | undefined, incrementor: Expression | undefined, statement: Statement): ForStatement;\n updateForStatement(node: ForStatement, initializer: ForInitializer | undefined, condition: Expression | undefined, incrementor: Expression | undefined, statement: Statement): ForStatement;\n createForInStatement(initializer: ForInitializer, expression: Expression, statement: Statement): ForInStatement;\n updateForInStatement(node: ForInStatement, initializer: ForInitializer, expression: Expression, statement: Statement): ForInStatement;\n createForOfStatement(awaitModifier: AwaitKeyword | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement;\n updateForOfStatement(node: ForOfStatement, awaitModifier: AwaitKeyword | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement;\n createContinueStatement(label?: string | Identifier): ContinueStatement;\n updateContinueStatement(node: ContinueStatement, label: Identifier | undefined): ContinueStatement;\n createBreakStatement(label?: string | Identifier): BreakStatement;\n updateBreakStatement(node: BreakStatement, label: Identifier | undefined): BreakStatement;\n createReturnStatement(expression?: Expression): ReturnStatement;\n updateReturnStatement(node: ReturnStatement, expression: Expression | undefined): ReturnStatement;\n createWithStatement(expression: Expression, statement: Statement): WithStatement;\n updateWithStatement(node: WithStatement, expression: Expression, statement: Statement): WithStatement;\n createSwitchStatement(expression: Expression, caseBlock: CaseBlock): SwitchStatement;\n updateSwitchStatement(node: SwitchStatement, expression: Expression, caseBlock: CaseBlock): SwitchStatement;\n createLabeledStatement(label: string | Identifier, statement: Statement): LabeledStatement;\n updateLabeledStatement(node: LabeledStatement, label: Identifier, statement: Statement): LabeledStatement;\n createThrowStatement(expression: Expression): ThrowStatement;\n updateThrowStatement(node: ThrowStatement, expression: Expression): ThrowStatement;\n createTryStatement(tryBlock: Block, catchClause: CatchClause | undefined, finallyBlock: Block | undefined): TryStatement;\n updateTryStatement(node: TryStatement, tryBlock: Block, catchClause: CatchClause | undefined, finallyBlock: Block | undefined): TryStatement;\n createDebuggerStatement(): DebuggerStatement;\n createVariableDeclaration(name: string | BindingName, exclamationToken?: ExclamationToken, type?: TypeNode, initializer?: Expression): VariableDeclaration;\n updateVariableDeclaration(node: VariableDeclaration, name: BindingName, exclamationToken: ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): VariableDeclaration;\n createVariableDeclarationList(declarations: readonly VariableDeclaration[], flags?: NodeFlags): VariableDeclarationList;\n updateVariableDeclarationList(node: VariableDeclarationList, declarations: readonly VariableDeclaration[]): VariableDeclarationList;\n createFunctionDeclaration(modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration;\n updateFunctionDeclaration(node: FunctionDeclaration, modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration;\n createClassDeclaration(modifiers: readonly ModifierLike[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;\n updateClassDeclaration(node: ClassDeclaration, modifiers: readonly ModifierLike[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;\n createInterfaceDeclaration(modifiers: readonly ModifierLike[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;\n updateInterfaceDeclaration(node: InterfaceDeclaration, modifiers: readonly ModifierLike[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;\n createTypeAliasDeclaration(modifiers: readonly ModifierLike[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;\n updateTypeAliasDeclaration(node: TypeAliasDeclaration, modifiers: readonly ModifierLike[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;\n createEnumDeclaration(modifiers: readonly ModifierLike[] | undefined, name: string | Identifier, members: readonly EnumMember[]): EnumDeclaration;\n updateEnumDeclaration(node: EnumDeclaration, modifiers: readonly ModifierLike[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration;\n createModuleDeclaration(modifiers: readonly ModifierLike[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags): ModuleDeclaration;\n updateModuleDeclaration(node: ModuleDeclaration, modifiers: readonly ModifierLike[] | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration;\n createModuleBlock(statements: readonly Statement[]): ModuleBlock;\n updateModuleBlock(node: ModuleBlock, statements: readonly Statement[]): ModuleBlock;\n createCaseBlock(clauses: readonly CaseOrDefaultClause[]): CaseBlock;\n updateCaseBlock(node: CaseBlock, clauses: readonly CaseOrDefaultClause[]): CaseBlock;\n createNamespaceExportDeclaration(name: string | Identifier): NamespaceExportDeclaration;\n updateNamespaceExportDeclaration(node: NamespaceExportDeclaration, name: Identifier): NamespaceExportDeclaration;\n createImportEqualsDeclaration(modifiers: readonly ModifierLike[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;\n updateImportEqualsDeclaration(node: ImportEqualsDeclaration, modifiers: readonly ModifierLike[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;\n createImportDeclaration(modifiers: readonly ModifierLike[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, attributes?: ImportAttributes): ImportDeclaration;\n updateImportDeclaration(node: ImportDeclaration, modifiers: readonly ModifierLike[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, attributes: ImportAttributes | undefined): ImportDeclaration;\n createImportClause(isTypeOnly: boolean, name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause;\n updateImportClause(node: ImportClause, isTypeOnly: boolean, name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause;\n /** @deprecated */ createAssertClause(elements: NodeArray<AssertEntry>, multiLine?: boolean): AssertClause;\n /** @deprecated */ updateAssertClause(node: AssertClause, elements: NodeArray<AssertEntry>, multiLine?: boolean): AssertClause;\n /** @deprecated */ createAssertEntry(name: AssertionKey, value: Expression): AssertEntry;\n /** @deprecated */ updateAssertEntry(node: AssertEntry, name: AssertionKey, value: Expression): AssertEntry;\n /** @deprecated */ createImportTypeAssertionContainer(clause: AssertClause, multiLine?: boolean): ImportTypeAssertionContainer;\n /** @deprecated */ updateImportTypeAssertionContainer(node: ImportTypeAssertionContainer, clause: AssertClause, multiLine?: boolean): ImportTypeAssertionContainer;\n createImportAttributes(elements: NodeArray<ImportAttribute>, multiLine?: boolean): ImportAttributes;\n updateImportAttributes(node: ImportAttributes, elements: NodeArray<ImportAttribute>, multiLine?: boolean): ImportAttributes;\n createImportAttribute(name: ImportAttributeName, value: Expression): ImportAttribute;\n updateImportAttribute(node: ImportAttribute, name: ImportAttributeName, value: Expression): ImportAttribute;\n createNamespaceImport(name: Identifier): NamespaceImport;\n updateNamespaceImport(node: NamespaceImport, name: Identifier): NamespaceImport;\n createNamespaceExport(name: ModuleExportName): NamespaceExport;\n updateNamespaceExport(node: NamespaceExport, name: ModuleExportName): NamespaceExport;\n createNamedImports(elements: readonly ImportSpecifier[]): NamedImports;\n updateNamedImports(node: NamedImports, elements: readonly ImportSpecifier[]): NamedImports;\n createImportSpecifier(isTypeOnly: boolean, propertyName: ModuleExportName | undefined, name: Identifier): ImportSpecifier;\n updateImportSpecifier(node: ImportSpecifier, isTypeOnly: boolean, propertyName: ModuleExportName | undefined, name: Identifier): ImportSpecifier;\n createExportAssignment(modifiers: readonly ModifierLike[] | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment;\n updateExportAssignment(node: ExportAssignment, modifiers: readonly ModifierLike[] | undefined, expression: Expression): ExportAssignment;\n createExportDeclaration(modifiers: readonly ModifierLike[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier?: Expression, attributes?: ImportAttributes): ExportDeclaration;\n updateExportDeclaration(node: ExportDeclaration, modifiers: readonly ModifierLike[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier: Expression | undefined, attributes: ImportAttributes | undefined): ExportDeclaration;\n createNamedExports(elements: readonly ExportSpecifier[]): NamedExports;\n updateNamedExports(node: NamedExports, elements: readonly ExportSpecifier[]): NamedExports;\n createExportSpecifier(isTypeOnly: boolean, propertyName: string | ModuleExportName | undefined, name: string | ModuleExportName): ExportSpecifier;\n updateExportSpecifier(node: ExportSpecifier, isTypeOnly: boolean, propertyName: ModuleExportName | undefined, name: ModuleExportName): ExportSpecifier;\n createExternalModuleReference(expression: Expression): ExternalModuleReference;\n updateExternalModuleReference(node: ExternalModuleReference, expression: Expression): ExternalModuleReference;\n createJSDocAllType(): JSDocAllType;\n createJSDocUnknownType(): JSDocUnknownType;\n createJSDocNonNullableType(type: TypeNode, postfix?: boolean): JSDocNonNullableType;\n updateJSDocNonNullableType(node: JSDocNonNullableType, type: TypeNode): JSDocNonNullableType;\n createJSDocNullableType(type: TypeNode, postfix?: boolean): JSDocNullableType;\n updateJSDocNullableType(node: JSDocNullableType, type: TypeNode): JSDocNullableType;\n createJSDocOptionalType(type: TypeNode): JSDocOptionalType;\n updateJSDocOptionalType(node: JSDocOptionalType, type: TypeNode): JSDocOptionalType;\n createJSDocFunctionType(parameters: readonly ParameterDeclaration[], type: TypeNode | undefined): JSDocFunctionType;\n updateJSDocFunctionType(node: JSDocFunctionType, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined): JSDocFunctionType;\n createJSDocVariadicType(type: TypeNode): JSDocVariadicType;\n updateJSDocVariadicType(node: JSDocVariadicType, type: TypeNode): JSDocVariadicType;\n createJSDocNamepathType(type: TypeNode): JSDocNamepathType;\n updateJSDocNamepathType(node: JSDocNamepathType, type: TypeNode): JSDocNamepathType;\n createJSDocTypeExpression(type: TypeNode): JSDocTypeExpression;\n updateJSDocTypeExpression(node: JSDocTypeExpression, type: TypeNode): JSDocTypeExpression;\n createJSDocNameReference(name: EntityName | JSDocMemberName): JSDocNameReference;\n updateJSDocNameReference(node: JSDocNameReference, name: EntityName | JSDocMemberName): JSDocNameReference;\n createJSDocMemberName(left: EntityName | JSDocMemberName, right: Identifier): JSDocMemberName;\n updateJSDocMemberName(node: JSDocMemberName, left: EntityName | JSDocMemberName, right: Identifier): JSDocMemberName;\n createJSDocLink(name: EntityName | JSDocMemberName | undefined, text: string): JSDocLink;\n updateJSDocLink(node: JSDocLink, name: EntityName | JSDocMemberName | undefined, text: string): JSDocLink;\n createJSDocLinkCode(name: EntityName | JSDocMemberName | undefined, text: string): JSDocLinkCode;\n updateJSDocLinkCode(node: JSDocLinkCode, name: EntityName | JSDocMemberName | undefined, text: string): JSDocLinkCode;\n createJSDocLinkPlain(name: EntityName | JSDocMemberName | undefined, text: string): JSDocLinkPlain;\n updateJSDocLinkPlain(node: JSDocLinkPlain, name: EntityName | JSDocMemberName | undefined, text: string): JSDocLinkPlain;\n createJSDocTypeLiteral(jsDocPropertyTags?: readonly JSDocPropertyLikeTag[], isArrayType?: boolean): JSDocTypeLiteral;\n updateJSDocTypeLiteral(node: JSDocTypeLiteral, jsDocPropertyTags: readonly JSDocPropertyLikeTag[] | undefined, isArrayType: boolean | undefined): JSDocTypeLiteral;\n createJSDocSignature(typeParameters: readonly JSDocTemplateTag[] | undefined, parameters: readonly JSDocParameterTag[], type?: JSDocReturnTag): JSDocSignature;\n updateJSDocSignature(node: JSDocSignature, typeParameters: readonly JSDocTemplateTag[] | undefined, parameters: readonly JSDocParameterTag[], type: JSDocReturnTag | undefined): JSDocSignature;\n createJSDocTemplateTag(tagName: Identifier | undefined, constraint: JSDocTypeExpression | undefined, typeParameters: readonly TypeParameterDeclaration[], comment?: string | NodeArray<JSDocComment>): JSDocTemplateTag;\n updateJSDocTemplateTag(node: JSDocTemplateTag, tagName: Identifier | undefined, constraint: JSDocTypeExpression | undefined, typeParameters: readonly TypeParameterDeclaration[], comment: string | NodeArray<JSDocComment> | undefined): JSDocTemplateTag;\n createJSDocTypedefTag(tagName: Identifier | undefined, typeExpression?: JSDocTypeExpression | JSDocTypeLiteral, fullName?: Identifier | JSDocNamespaceDeclaration, comment?: string | NodeArray<JSDocComment>): JSDocTypedefTag;\n updateJSDocTypedefTag(node: JSDocTypedefTag, tagName: Identifier | undefined, typeExpression: JSDocTypeExpression | JSDocTypeLiteral | undefined, fullName: Identifier | JSDocNamespaceDeclaration | undefined, comment: string | NodeArray<JSDocComment> | undefined): JSDocTypedefTag;\n createJSDocParameterTag(tagName: Identifier | undefined, name: EntityName, isBracketed: boolean, typeExpression?: JSDocTypeExpression, isNameFirst?: boolean, comment?: string | NodeArray<JSDocComment>): JSDocParameterTag;\n updateJSDocParameterTag(node: JSDocParameterTag, tagName: Identifier | undefined, name: EntityName, isBracketed: boolean, typeExpression: JSDocTypeExpression | undefined, isNameFirst: boolean, comment: string | NodeArray<JSDocComment> | undefined): JSDocParameterTag;\n createJSDocPropertyTag(tagName: Identifier | undefined, name: EntityName, isBracketed: boolean, typeExpression?: JSDocTypeExpression, isNameFirst?: boolean, comment?: string | NodeArray<JSDocComment>): JSDocPropertyTag;\n updateJSDocPropertyTag(node: JSDocPropertyTag, tagName: Identifier | undefined, name: EntityName, isBracketed: boolean, typeExpression: JSDocTypeExpression | undefined, isNameFirst: boolean, comment: string | NodeArray<JSDocComment> | undefined): JSDocPropertyTag;\n createJSDocTypeTag(tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment?: string | NodeArray<JSDocComment>): JSDocTypeTag;\n updateJSDocTypeTag(node: JSDocTypeTag, tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment: string | NodeArray<JSDocComment> | undefined): JSDocTypeTag;\n createJSDocSeeTag(tagName: Identifier | undefined, nameExpression: JSDocNameReference | undefined, comment?: string | NodeArray<JSDocComment>): JSDocSeeTag;\n updateJSDocSeeTag(node: JSDocSeeTag, tagName: Identifier | undefined, nameExpression: JSDocNameReference | undefined, comment?: string | NodeArray<JSDocComment>): JSDocSeeTag;\n createJSDocReturnTag(tagName: Identifier | undefined, typeExpression?: JSDocTypeExpression, comment?: string | NodeArray<JSDocComment>): JSDocReturnTag;\n updateJSDocReturnTag(node: JSDocReturnTag, tagName: Identifier | undefined, typeExpression: JSDocTypeExpression | undefined, comment: string | NodeArray<JSDocComment> | undefined): JSDocReturnTag;\n createJSDocThisTag(tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment?: string | NodeArray<JSDocComment>): JSDocThisTag;\n updateJSDocThisTag(node: JSDocThisTag, tagName: Identifier | undefined, typeExpression: JSDocTypeExpression | undefined, comment: string | NodeArray<JSDocComment> | undefined): JSDocThisTag;\n createJSDocEnumTag(tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment?: string | NodeArray<JSDocComment>): JSDocEnumTag;\n updateJSDocEnumTag(node: JSDocEnumTag, tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment: string | NodeArray<JSDocComment> | undefined): JSDocEnumTag;\n createJSDocCallbackTag(tagName: Identifier | undefined, typeExpression: JSDocSignature, fullName?: Identifier | JSDocNamespaceDeclaration, comment?: string | NodeArray<JSDocComment>): JSDocCallbackTag;\n updateJSDocCallbackTag(node: JSDocCallbackTag, tagName: Identifier | undefined, typeExpression: JSDocSignature, fullName: Identifier | JSDocNamespaceDeclaration | undefined, comment: string | NodeArray<JSDocComment> | undefined): JSDocCallbackTag;\n createJSDocOverloadTag(tagName: Identifier | undefined, typeExpression: JSDocSignature, comment?: string | NodeArray<JSDocComment>): JSDocOverloadTag;\n updateJSDocOverloadTag(node: JSDocOverloadTag, tagName: Identifier | undefined, typeExpression: JSDocSignature, comment: string | NodeArray<JSDocComment> | undefined): JSDocOverloadTag;\n createJSDocAugmentsTag(tagName: Identifier | undefined, className: JSDocAugmentsTag[\"class\"], comment?: string | NodeArray<JSDocComment>): JSDocAugmentsTag;\n updateJSDocAugmentsTag(node: JSDocAugmentsTag, tagName: Identifier | undefined, className: JSDocAugmentsTag[\"class\"], comment: string | NodeArray<JSDocComment> | undefined): JSDocAugmentsTag;\n createJSDocImplementsTag(tagName: Identifier | undefined, className: JSDocImplementsTag[\"class\"], comment?: string | NodeArray<JSDocComment>): JSDocImplementsTag;\n updateJSDocImplementsTag(node: JSDocImplementsTag, tagName: Identifier | undefined, className: JSDocImplementsTag[\"class\"], comment: string | NodeArray<JSDocComment> | undefined): JSDocImplementsTag;\n createJSDocAuthorTag(tagName: Identifier | undefined, comment?: string | NodeArray<JSDocComment>): JSDocAuthorTag;\n updateJSDocAuthorTag(node: JSDocAuthorTag, tagName: Identifier | undefined, comment: string | NodeArray<JSDocComment> | undefined): JSDocAuthorTag;\n createJSDocClassTag(tagName: Identifier | undefined, comment?: string | NodeArray<JSDocComment>): JSDocClassTag;\n updateJSDocClassTag(node: JSDocClassTag, tagName: Identifier | undefined, comment: string | NodeArray<JSDocComment> | undefined): JSDocClassTag;\n createJSDocPublicTag(tagName: Identifier | undefined, comment?: string | NodeArray<JSDocComment>): JSDocPublicTag;\n updateJSDocPublicTag(node: JSDocPublicTag, tagName: Identifier | undefined, comment: string | NodeArray<JSDocComment> | undefined): JSDocPublicTag;\n createJSDocPrivateTag(tagName: Identifier | undefined, comment?: string | NodeArray<JSDocComment>): JSDocPrivateTag;\n updateJSDocPrivateTag(node: JSDocPrivateTag, tagName: Identifier | undefined, comment: string | NodeArray<JSDocComment> | undefined): JSDocPrivateTag;\n createJSDocProtectedTag(tagName: Identifier | undefined, comment?: string | NodeArray<JSDocComment>): JSDocProtectedTag;\n updateJSDocProtectedTag(node: JSDocProtectedTag, tagName: Identifier | undefined, comment: string | NodeArray<JSDocComment> | undefined): JSDocProtectedTag;\n createJSDocReadonlyTag(tagName: Identifier | undefined, comment?: string | NodeArray<JSDocComment>): JSDocReadonlyTag;\n updateJSDocReadonlyTag(node: JSDocReadonlyTag, tagName: Identifier | undefined, comment: string | NodeArray<JSDocComment> | undefined): JSDocReadonlyTag;\n createJSDocUnknownTag(tagName: Identifier, comment?: string | NodeArray<JSDocComment>): JSDocUnknownTag;\n updateJSDocUnknownTag(node: JSDocUnknownTag, tagName: Identifier, comment: string | NodeArray<JSDocComment> | undefined): JSDocUnknownTag;\n createJSDocDeprecatedTag(tagName: Identifier | undefined, comment?: string | NodeArray<JSDocComment>): JSDocDeprecatedTag;\n updateJSDocDeprecatedTag(node: JSDocDeprecatedTag, tagName: Identifier | undefined, comment?: string | NodeArray<JSDocComment>): JSDocDeprecatedTag;\n createJSDocOverrideTag(tagName: Identifier | undefined, comment?: string | NodeArray<JSDocComment>): JSDocOverrideTag;\n updateJSDocOverrideTag(node: JSDocOverrideTag, tagName: Identifier | undefined, comment?: string | NodeArray<JSDocComment>): JSDocOverrideTag;\n createJSDocThrowsTag(tagName: Identifier, typeExpression: JSDocTypeExpression | undefined, comment?: string | NodeArray<JSDocComment>): JSDocThrowsTag;\n updateJSDocThrowsTag(node: JSDocThrowsTag, tagName: Identifier | undefined, typeExpression: JSDocTypeExpression | undefined, comment?: string | NodeArray<JSDocComment> | undefined): JSDocThrowsTag;\n createJSDocSatisfiesTag(tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment?: string | NodeArray<JSDocComment>): JSDocSatisfiesTag;\n updateJSDocSatisfiesTag(node: JSDocSatisfiesTag, tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment: string | NodeArray<JSDocComment> | undefined): JSDocSatisfiesTag;\n createJSDocImportTag(tagName: Identifier | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, attributes?: ImportAttributes, comment?: string | NodeArray<JSDocComment>): JSDocImportTag;\n updateJSDocImportTag(node: JSDocImportTag, tagName: Identifier | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, attributes: ImportAttributes | undefined, comment: string | NodeArray<JSDocComment> | undefined): JSDocImportTag;\n createJSDocText(text: string): JSDocText;\n updateJSDocText(node: JSDocText, text: string): JSDocText;\n createJSDocComment(comment?: string | NodeArray<JSDocComment> | undefined, tags?: readonly JSDocTag[] | undefined): JSDoc;\n updateJSDocComment(node: JSDoc, comment: string | NodeArray<JSDocComment> | undefined, tags: readonly JSDocTag[] | undefined): JSDoc;\n createJsxElement(openingElement: JsxOpeningElement, children: readonly JsxChild[], closingElement: JsxClosingElement): JsxElement;\n updateJsxElement(node: JsxElement, openingElement: JsxOpeningElement, children: readonly JsxChild[], closingElement: JsxClosingElement): JsxElement;\n createJsxSelfClosingElement(tagName: JsxTagNameExpression, typeArguments: readonly TypeNode[] | undefined, attributes: JsxAttributes): JsxSelfClosingElement;\n updateJsxSelfClosingElement(node: JsxSelfClosingElement, tagName: JsxTagNameExpression, typeArguments: readonly TypeNode[] | undefined, attributes: JsxAttributes): JsxSelfClosingElement;\n createJsxOpeningElement(tagName: JsxTagNameExpression, typeArguments: readonly TypeNode[] | undefined, attributes: JsxAttributes): JsxOpeningElement;\n updateJsxOpeningElement(node: JsxOpeningElement, tagName: JsxTagNameExpression, typeArguments: readonly TypeNode[] | undefined, attributes: JsxAttributes): JsxOpeningElement;\n createJsxClosingElement(tagName: JsxTagNameExpression): JsxClosingElement;\n updateJsxClosingElement(node: JsxClosingElement, tagName: JsxTagNameExpression): JsxClosingElement;\n createJsxFragment(openingFragment: JsxOpeningFragment, children: readonly JsxChild[], closingFragment: JsxClosingFragment): JsxFragment;\n createJsxText(text: string, containsOnlyTriviaWhiteSpaces?: boolean): JsxText;\n updateJsxText(node: JsxText, text: string, containsOnlyTriviaWhiteSpaces?: boolean): JsxText;\n createJsxOpeningFragment(): JsxOpeningFragment;\n createJsxJsxClosingFragment(): JsxClosingFragment;\n updateJsxFragment(node: JsxFragment, openingFragment: JsxOpeningFragment, children: readonly JsxChild[], closingFragment: JsxClosingFragment): JsxFragment;\n createJsxAttribute(name: JsxAttributeName, initializer: JsxAttributeValue | undefined): JsxAttribute;\n updateJsxAttribute(node: JsxAttribute, name: JsxAttributeName, initializer: JsxAttributeValue | undefined): JsxAttribute;\n createJsxAttributes(properties: readonly JsxAttributeLike[]): JsxAttributes;\n updateJsxAttributes(node: JsxAttributes, properties: readonly JsxAttributeLike[]): JsxAttributes;\n createJsxSpreadAttribute(expression: Expression): JsxSpreadAttribute;\n updateJsxSpreadAttribute(node: JsxSpreadAttribute, expression: Expression): JsxSpreadAttribute;\n createJsxExpression(dotDotDotToken: DotDotDotToken | undefined, expression: Expression | undefined): JsxExpression;\n updateJsxExpression(node: JsxExpression, expression: Expression | undefined): JsxExpression;\n createJsxNamespacedName(namespace: Identifier, name: Identifier): JsxNamespacedName;\n updateJsxNamespacedName(node: JsxNamespacedName, namespace: Identifier, name: Identifier): JsxNamespacedName;\n createCaseClause(expression: Expression, statements: readonly Statement[]): CaseClause;\n updateCaseClause(node: CaseClause, expression: Expression, statements: readonly Statement[]): CaseClause;\n createDefaultClause(statements: readonly Statement[]): DefaultClause;\n updateDefaultClause(node: DefaultClause, statements: readonly Statement[]): DefaultClause;\n createHeritageClause(token: HeritageClause[\"token\"], types: readonly ExpressionWithTypeArguments[]): HeritageClause;\n updateHeritageClause(node: HeritageClause, types: readonly ExpressionWithTypeArguments[]): HeritageClause;\n createCatchClause(variableDeclaration: string | BindingName | VariableDeclaration | undefined, block: Block): CatchClause;\n updateCatchClause(node: CatchClause, variableDeclaration: VariableDeclaration | undefined, block: Block): CatchClause;\n createPropertyAssignment(name: string | PropertyName, initializer: Expression): PropertyAssignment;\n updatePropertyAssignment(node: PropertyAssignment, name: PropertyName, initializer: Expression): PropertyAssignment;\n createShorthandPropertyAssignment(name: string | Identifier, objectAssignmentInitializer?: Expression): ShorthandPropertyAssignment;\n updateShorthandPropertyAssignment(node: ShorthandPropertyAssignment, name: Identifier, objectAssignmentInitializer: Expression | undefined): ShorthandPropertyAssignment;\n createSpreadAssignment(expression: Expression): SpreadAssignment;\n updateSpreadAssignment(node: SpreadAssignment, expression: Expression): SpreadAssignment;\n createEnumMember(name: string | PropertyName, initializer?: Expression): EnumMember;\n updateEnumMember(node: EnumMember, name: PropertyName, initializer: Expression | undefined): EnumMember;\n createSourceFile(statements: readonly Statement[], endOfFileToken: EndOfFileToken, flags: NodeFlags): SourceFile;\n updateSourceFile(node: SourceFile, statements: readonly Statement[], isDeclarationFile?: boolean, referencedFiles?: readonly FileReference[], typeReferences?: readonly FileReference[], hasNoDefaultLib?: boolean, libReferences?: readonly FileReference[]): SourceFile;\n createNotEmittedStatement(original: Node): NotEmittedStatement;\n createNotEmittedTypeElement(): NotEmittedTypeElement;\n createPartiallyEmittedExpression(expression: Expression, original?: Node): PartiallyEmittedExpression;\n updatePartiallyEmittedExpression(node: PartiallyEmittedExpression, expression: Expression): PartiallyEmittedExpression;\n createCommaListExpression(elements: readonly Expression[]): CommaListExpression;\n updateCommaListExpression(node: CommaListExpression, elements: readonly Expression[]): CommaListExpression;\n createBundle(sourceFiles: readonly SourceFile[]): Bundle;\n updateBundle(node: Bundle, sourceFiles: readonly SourceFile[]): Bundle;\n createComma(left: Expression, right: Expression): BinaryExpression;\n createAssignment(left: ObjectLiteralExpression | ArrayLiteralExpression, right: Expression): DestructuringAssignment;\n createAssignment(left: Expression, right: Expression): AssignmentExpression<EqualsToken>;\n createLogicalOr(left: Expression, right: Expression): BinaryExpression;\n createLogicalAnd(left: Expression, right: Expression): BinaryExpression;\n createBitwiseOr(left: Expression, right: Expression): BinaryExpression;\n createBitwiseXor(left: Expression, right: Expression): BinaryExpression;\n createBitwiseAnd(left: Expression, right: Expression): BinaryExpression;\n createStrictEquality(left: Expression, right: Expression): BinaryExpression;\n createStrictInequality(left: Expression, right: Expression): BinaryExpression;\n createEquality(left: Expression, right: Expression): BinaryExpression;\n createInequality(left: Expression, right: Expression): BinaryExpression;\n createLessThan(left: Expression, right: Expression): BinaryExpression;\n createLessThanEquals(left: Expression, right: Expression): BinaryExpression;\n createGreaterThan(left: Expression, right: Expression): BinaryExpression;\n createGreaterThanEquals(left: Expression, right: Expression): BinaryExpression;\n createLeftShift(left: Expression, right: Expression): BinaryExpression;\n createRightShift(left: Expression, right: Expression): BinaryExpression;\n createUnsignedRightShift(left: Expression, right: Expression): BinaryExpression;\n createAdd(left: Expression, right: Expression): BinaryExpression;\n createSubtract(left: Expression, right: Expression): BinaryExpression;\n createMultiply(left: Expression, right: Expression): BinaryExpression;\n createDivide(left: Expression, right: Expression): BinaryExpression;\n createModulo(left: Expression, right: Expression): BinaryExpression;\n createExponent(left: Expression, right: Expression): BinaryExpression;\n createPrefixPlus(operand: Expression): PrefixUnaryExpression;\n createPrefixMinus(operand: Expression): PrefixUnaryExpression;\n createPrefixIncrement(operand: Expression): PrefixUnaryExpression;\n createPrefixDecrement(operand: Expression): PrefixUnaryExpression;\n createBitwiseNot(operand: Expression): PrefixUnaryExpression;\n createLogicalNot(operand: Expression): PrefixUnaryExpression;\n createPostfixIncrement(operand: Expression): PostfixUnaryExpression;\n createPostfixDecrement(operand: Expression): PostfixUnaryExpression;\n createImmediatelyInvokedFunctionExpression(statements: readonly Statement[]): CallExpression;\n createImmediatelyInvokedFunctionExpression(statements: readonly Statement[], param: ParameterDeclaration, paramValue: Expression): CallExpression;\n createImmediatelyInvokedArrowFunction(statements: readonly Statement[]): ImmediatelyInvokedArrowFunction;\n createImmediatelyInvokedArrowFunction(statements: readonly Statement[], param: ParameterDeclaration, paramValue: Expression): ImmediatelyInvokedArrowFunction;\n createVoidZero(): VoidExpression;\n createExportDefault(expression: Expression): ExportAssignment;\n createExternalModuleExport(exportName: Identifier): ExportDeclaration;\n restoreOuterExpressions(outerExpression: Expression | undefined, innerExpression: Expression, kinds?: OuterExpressionKinds): Expression;\n /**\n * Updates a node that may contain modifiers, replacing only the modifiers of the node.\n */\n replaceModifiers<T extends HasModifiers>(node: T, modifiers: readonly Modifier[] | ModifierFlags | undefined): T;\n /**\n * Updates a node that may contain decorators or modifiers, replacing only the decorators and modifiers of the node.\n */\n replaceDecoratorsAndModifiers<T extends HasModifiers & HasDecorators>(node: T, modifiers: readonly ModifierLike[] | undefined): T;\n /**\n * Updates a node that contains a property name, replacing only the name of the node.\n */\n replacePropertyName<T extends AccessorDeclaration | MethodDeclaration | MethodSignature | PropertyDeclaration | PropertySignature | PropertyAssignment>(node: T, name: T[\"name\"]): T;\n }\n interface CoreTransformationContext {\n readonly factory: NodeFactory;\n /** Gets the compiler options supplied to the transformer. */\n getCompilerOptions(): CompilerOptions;\n /** Starts a new lexical environment. */\n startLexicalEnvironment(): void;\n /** Suspends the current lexical environment, usually after visiting a parameter list. */\n suspendLexicalEnvironment(): void;\n /** Resumes a suspended lexical environment, usually before visiting a function body. */\n resumeLexicalEnvironment(): void;\n /** Ends a lexical environment, returning any declarations. */\n endLexicalEnvironment(): Statement[] | undefined;\n /** Hoists a function declaration to the containing scope. */\n hoistFunctionDeclaration(node: FunctionDeclaration): void;\n /** Hoists a variable declaration to the containing scope. */\n hoistVariableDeclaration(node: Identifier): void;\n }\n interface TransformationContext extends CoreTransformationContext {\n /** Records a request for a non-scoped emit helper in the current context. */\n requestEmitHelper(helper: EmitHelper): void;\n /** Gets and resets the requested non-scoped emit helpers. */\n readEmitHelpers(): EmitHelper[] | undefined;\n /** Enables expression substitutions in the pretty printer for the provided SyntaxKind. */\n enableSubstitution(kind: SyntaxKind): void;\n /** Determines whether expression substitutions are enabled for the provided node. */\n isSubstitutionEnabled(node: Node): boolean;\n /**\n * Hook used by transformers to substitute expressions just before they\n * are emitted by the pretty printer.\n *\n * NOTE: Transformation hooks should only be modified during `Transformer` initialization,\n * before returning the `NodeTransformer` callback.\n */\n onSubstituteNode: (hint: EmitHint, node: Node) => Node;\n /**\n * Enables before/after emit notifications in the pretty printer for the provided\n * SyntaxKind.\n */\n enableEmitNotification(kind: SyntaxKind): void;\n /**\n * Determines whether before/after emit notifications should be raised in the pretty\n * printer when it emits a node.\n */\n isEmitNotificationEnabled(node: Node): boolean;\n /**\n * Hook used to allow transformers to capture state before or after\n * the printer emits a node.\n *\n * NOTE: Transformation hooks should only be modified during `Transformer` initialization,\n * before returning the `NodeTransformer` callback.\n */\n onEmitNode: (hint: EmitHint, node: Node, emitCallback: (hint: EmitHint, node: Node) => void) => void;\n }\n interface TransformationResult<T extends Node> {\n /** Gets the transformed source files. */\n transformed: T[];\n /** Gets diagnostics for the transformation. */\n diagnostics?: DiagnosticWithLocation[];\n /**\n * Gets a substitute for a node, if one is available; otherwise, returns the original node.\n *\n * @param hint A hint as to the intended usage of the node.\n * @param node The node to substitute.\n */\n substituteNode(hint: EmitHint, node: Node): Node;\n /**\n * Emits a node with possible notification.\n *\n * @param hint A hint as to the intended usage of the node.\n * @param node The node to emit.\n * @param emitCallback A callback used to emit the node.\n */\n emitNodeWithNotification(hint: EmitHint, node: Node, emitCallback: (hint: EmitHint, node: Node) => void): void;\n /**\n * Indicates if a given node needs an emit notification\n *\n * @param node The node to emit.\n */\n isEmitNotificationEnabled?(node: Node): boolean;\n /**\n * Clean up EmitNode entries on any parse-tree nodes.\n */\n dispose(): void;\n }\n /**\n * A function that is used to initialize and return a `Transformer` callback, which in turn\n * will be used to transform one or more nodes.\n */\n type TransformerFactory<T extends Node> = (context: TransformationContext) => Transformer<T>;\n /**\n * A function that transforms a node.\n */\n type Transformer<T extends Node> = (node: T) => T;\n /**\n * A function that accepts and possibly transforms a node.\n */\n type Visitor<TIn extends Node = Node, TOut extends Node | undefined = TIn | undefined> = (node: TIn) => VisitResult<TOut>;\n /**\n * A function that walks a node using the given visitor, lifting node arrays into single nodes,\n * returning an node which satisfies the test.\n *\n * - If the input node is undefined, then the output is undefined.\n * - If the visitor returns undefined, then the output is undefined.\n * - If the output node is not undefined, then it will satisfy the test function.\n * - In order to obtain a return type that is more specific than `Node`, a test\n * function _must_ be provided, and that function must be a type predicate.\n *\n * For the canonical implementation of this type, @see {visitNode}.\n */\n interface NodeVisitor {\n <TIn extends Node | undefined, TVisited extends Node | undefined, TOut extends Node>(node: TIn, visitor: Visitor<NonNullable<TIn>, TVisited>, test: (node: Node) => node is TOut, lift?: (node: readonly Node[]) => Node): TOut | (TIn & undefined) | (TVisited & undefined);\n <TIn extends Node | undefined, TVisited extends Node | undefined>(node: TIn, visitor: Visitor<NonNullable<TIn>, TVisited>, test?: (node: Node) => boolean, lift?: (node: readonly Node[]) => Node): Node | (TIn & undefined) | (TVisited & undefined);\n }\n /**\n * A function that walks a node array using the given visitor, returning an array whose contents satisfy the test.\n *\n * - If the input node array is undefined, the output is undefined.\n * - If the visitor can return undefined, the node it visits in the array will be reused.\n * - If the output node array is not undefined, then its contents will satisfy the test.\n * - In order to obtain a return type that is more specific than `NodeArray<Node>`, a test\n * function _must_ be provided, and that function must be a type predicate.\n *\n * For the canonical implementation of this type, @see {visitNodes}.\n */\n interface NodesVisitor {\n <TIn extends Node, TInArray extends NodeArray<TIn> | undefined, TOut extends Node>(nodes: TInArray, visitor: Visitor<TIn, Node | undefined>, test: (node: Node) => node is TOut, start?: number, count?: number): NodeArray<TOut> | (TInArray & undefined);\n <TIn extends Node, TInArray extends NodeArray<TIn> | undefined>(nodes: TInArray, visitor: Visitor<TIn, Node | undefined>, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray<Node> | (TInArray & undefined);\n }\n type VisitResult<T extends Node | undefined> = T | readonly Node[];\n interface Printer {\n /**\n * Print a node and its subtree as-is, without any emit transformations.\n * @param hint A value indicating the purpose of a node. This is primarily used to\n * distinguish between an `Identifier` used in an expression position, versus an\n * `Identifier` used as an `IdentifierName` as part of a declaration. For most nodes you\n * should just pass `Unspecified`.\n * @param node The node to print. The node and its subtree are printed as-is, without any\n * emit transformations.\n * @param sourceFile A source file that provides context for the node. The source text of\n * the file is used to emit the original source content for literals and identifiers, while\n * the identifiers of the source file are used when generating unique names to avoid\n * collisions.\n */\n printNode(hint: EmitHint, node: Node, sourceFile: SourceFile): string;\n /**\n * Prints a list of nodes using the given format flags\n */\n printList<T extends Node>(format: ListFormat, list: NodeArray<T>, sourceFile: SourceFile): string;\n /**\n * Prints a source file as-is, without any emit transformations.\n */\n printFile(sourceFile: SourceFile): string;\n /**\n * Prints a bundle of source files as-is, without any emit transformations.\n */\n printBundle(bundle: Bundle): string;\n }\n interface PrintHandlers {\n /**\n * A hook used by the Printer when generating unique names to avoid collisions with\n * globally defined names that exist outside of the current source file.\n */\n hasGlobalName?(name: string): boolean;\n /**\n * A hook used by the Printer to provide notifications prior to emitting a node. A\n * compatible implementation **must** invoke `emitCallback` with the provided `hint` and\n * `node` values.\n * @param hint A hint indicating the intended purpose of the node.\n * @param node The node to emit.\n * @param emitCallback A callback that, when invoked, will emit the node.\n * @example\n * ```ts\n * var printer = createPrinter(printerOptions, {\n * onEmitNode(hint, node, emitCallback) {\n * // set up or track state prior to emitting the node...\n * emitCallback(hint, node);\n * // restore state after emitting the node...\n * }\n * });\n * ```\n */\n onEmitNode?(hint: EmitHint, node: Node, emitCallback: (hint: EmitHint, node: Node) => void): void;\n /**\n * A hook used to check if an emit notification is required for a node.\n * @param node The node to emit.\n */\n isEmitNotificationEnabled?(node: Node): boolean;\n /**\n * A hook used by the Printer to perform just-in-time substitution of a node. This is\n * primarily used by node transformations that need to substitute one node for another,\n * such as replacing `myExportedVar` with `exports.myExportedVar`.\n * @param hint A hint indicating the intended purpose of the node.\n * @param node The node to emit.\n * @example\n * ```ts\n * var printer = createPrinter(printerOptions, {\n * substituteNode(hint, node) {\n * // perform substitution if necessary...\n * return node;\n * }\n * });\n * ```\n */\n substituteNode?(hint: EmitHint, node: Node): Node;\n }\n interface PrinterOptions {\n removeComments?: boolean;\n newLine?: NewLineKind;\n omitTrailingSemicolon?: boolean;\n noEmitHelpers?: boolean;\n }\n interface GetEffectiveTypeRootsHost {\n getCurrentDirectory?(): string;\n }\n interface TextSpan {\n start: number;\n length: number;\n }\n interface TextChangeRange {\n span: TextSpan;\n newLength: number;\n }\n interface SyntaxList extends Node {\n kind: SyntaxKind.SyntaxList;\n }\n enum ListFormat {\n None = 0,\n SingleLine = 0,\n MultiLine = 1,\n PreserveLines = 2,\n LinesMask = 3,\n NotDelimited = 0,\n BarDelimited = 4,\n AmpersandDelimited = 8,\n CommaDelimited = 16,\n AsteriskDelimited = 32,\n DelimitersMask = 60,\n AllowTrailingComma = 64,\n Indented = 128,\n SpaceBetweenBraces = 256,\n SpaceBetweenSiblings = 512,\n Braces = 1024,\n Parenthesis = 2048,\n AngleBrackets = 4096,\n SquareBrackets = 8192,\n BracketsMask = 15360,\n OptionalIfUndefined = 16384,\n OptionalIfEmpty = 32768,\n Optional = 49152,\n PreferNewLine = 65536,\n NoTrailingNewLine = 131072,\n NoInterveningComments = 262144,\n NoSpaceIfEmpty = 524288,\n SingleElement = 1048576,\n SpaceAfterList = 2097152,\n Modifiers = 2359808,\n HeritageClauses = 512,\n SingleLineTypeLiteralMembers = 768,\n MultiLineTypeLiteralMembers = 32897,\n SingleLineTupleTypeElements = 528,\n MultiLineTupleTypeElements = 657,\n UnionTypeConstituents = 516,\n IntersectionTypeConstituents = 520,\n ObjectBindingPatternElements = 525136,\n ArrayBindingPatternElements = 524880,\n ObjectLiteralExpressionProperties = 526226,\n ImportAttributes = 526226,\n /** @deprecated */ ImportClauseEntries = 526226,\n ArrayLiteralExpressionElements = 8914,\n CommaListElements = 528,\n CallExpressionArguments = 2576,\n NewExpressionArguments = 18960,\n TemplateExpressionSpans = 262144,\n SingleLineBlockStatements = 768,\n MultiLineBlockStatements = 129,\n VariableDeclarationList = 528,\n SingleLineFunctionBodyStatements = 768,\n MultiLineFunctionBodyStatements = 1,\n ClassHeritageClauses = 0,\n ClassMembers = 129,\n InterfaceMembers = 129,\n EnumMembers = 145,\n CaseBlockClauses = 129,\n NamedImportsOrExportsElements = 525136,\n JsxElementOrFragmentChildren = 262144,\n JsxElementAttributes = 262656,\n CaseOrDefaultClauseStatements = 163969,\n HeritageClauseTypes = 528,\n SourceFileStatements = 131073,\n Decorators = 2146305,\n TypeArguments = 53776,\n TypeParameters = 53776,\n Parameters = 2576,\n IndexSignatureParameters = 8848,\n JSDocComment = 33,\n }\n enum JSDocParsingMode {\n /**\n * Always parse JSDoc comments and include them in the AST.\n *\n * This is the default if no mode is provided.\n */\n ParseAll = 0,\n /**\n * Never parse JSDoc comments, mo matter the file type.\n */\n ParseNone = 1,\n /**\n * Parse only JSDoc comments which are needed to provide correct type errors.\n *\n * This will always parse JSDoc in non-TS files, but only parse JSDoc comments\n * containing `@see` and `@link` in TS files.\n */\n ParseForTypeErrors = 2,\n /**\n * Parse only JSDoc comments which are needed to provide correct type info.\n *\n * This will always parse JSDoc in non-TS files, but never in TS files.\n *\n * Note: Do not use this mode if you require accurate type errors; use {@link ParseForTypeErrors} instead.\n */\n ParseForTypeInfo = 3,\n }\n interface UserPreferences {\n readonly disableSuggestions?: boolean;\n readonly quotePreference?: \"auto\" | \"double\" | \"single\";\n /**\n * If enabled, TypeScript will search through all external modules' exports and add them to the completions list.\n * This affects lone identifier completions but not completions on the right hand side of `obj.`.\n */\n readonly includeCompletionsForModuleExports?: boolean;\n /**\n * Enables auto-import-style completions on partially-typed import statements. E.g., allows\n * `import write|` to be completed to `import { writeFile } from \"fs\"`.\n */\n readonly includeCompletionsForImportStatements?: boolean;\n /**\n * Allows completions to be formatted with snippet text, indicated by `CompletionItem[\"isSnippet\"]`.\n */\n readonly includeCompletionsWithSnippetText?: boolean;\n /**\n * Unless this option is `false`, or `includeCompletionsWithInsertText` is not enabled,\n * member completion lists triggered with `.` will include entries on potentially-null and potentially-undefined\n * values, with insertion text to replace preceding `.` tokens with `?.`.\n */\n readonly includeAutomaticOptionalChainCompletions?: boolean;\n /**\n * If enabled, the completion list will include completions with invalid identifier names.\n * For those entries, The `insertText` and `replacementSpan` properties will be set to change from `.x` property access to `[\"x\"]`.\n */\n readonly includeCompletionsWithInsertText?: boolean;\n /**\n * If enabled, completions for class members (e.g. methods and properties) will include\n * a whole declaration for the member.\n * E.g., `class A { f| }` could be completed to `class A { foo(): number {} }`, instead of\n * `class A { foo }`.\n */\n readonly includeCompletionsWithClassMemberSnippets?: boolean;\n /**\n * If enabled, object literal methods will have a method declaration completion entry in addition\n * to the regular completion entry containing just the method name.\n * E.g., `const objectLiteral: T = { f| }` could be completed to `const objectLiteral: T = { foo(): void {} }`,\n * in addition to `const objectLiteral: T = { foo }`.\n */\n readonly includeCompletionsWithObjectLiteralMethodSnippets?: boolean;\n /**\n * Indicates whether {@link CompletionEntry.labelDetails completion entry label details} are supported.\n * If not, contents of `labelDetails` may be included in the {@link CompletionEntry.name} property.\n */\n readonly useLabelDetailsInCompletionEntries?: boolean;\n readonly allowIncompleteCompletions?: boolean;\n readonly importModuleSpecifierPreference?: \"shortest\" | \"project-relative\" | \"relative\" | \"non-relative\";\n /** Determines whether we import `foo/index.ts` as \"foo\", \"foo/index\", or \"foo/index.js\" */\n readonly importModuleSpecifierEnding?: \"auto\" | \"minimal\" | \"index\" | \"js\";\n readonly allowTextChangesInNewFiles?: boolean;\n readonly providePrefixAndSuffixTextForRename?: boolean;\n readonly includePackageJsonAutoImports?: \"auto\" | \"on\" | \"off\";\n readonly provideRefactorNotApplicableReason?: boolean;\n readonly jsxAttributeCompletionStyle?: \"auto\" | \"braces\" | \"none\";\n readonly includeInlayParameterNameHints?: \"none\" | \"literals\" | \"all\";\n readonly includeInlayParameterNameHintsWhenArgumentMatchesName?: boolean;\n readonly includeInlayFunctionParameterTypeHints?: boolean;\n readonly includeInlayVariableTypeHints?: boolean;\n readonly includeInlayVariableTypeHintsWhenTypeMatchesName?: boolean;\n readonly includeInlayPropertyDeclarationTypeHints?: boolean;\n readonly includeInlayFunctionLikeReturnTypeHints?: boolean;\n readonly includeInlayEnumMemberValueHints?: boolean;\n readonly interactiveInlayHints?: boolean;\n readonly allowRenameOfImportPath?: boolean;\n readonly autoImportFileExcludePatterns?: string[];\n readonly autoImportSpecifierExcludeRegexes?: string[];\n readonly preferTypeOnlyAutoImports?: boolean;\n /**\n * Indicates whether imports should be organized in a case-insensitive manner.\n */\n readonly organizeImportsIgnoreCase?: \"auto\" | boolean;\n /**\n * Indicates whether imports should be organized via an \"ordinal\" (binary) comparison using the numeric value\n * of their code points, or via \"unicode\" collation (via the\n * [Unicode Collation Algorithm](https://unicode.org/reports/tr10/#Scope)) using rules associated with the locale\n * specified in {@link organizeImportsCollationLocale}.\n *\n * Default: `\"ordinal\"`.\n */\n readonly organizeImportsCollation?: \"ordinal\" | \"unicode\";\n /**\n * Indicates the locale to use for \"unicode\" collation. If not specified, the locale `\"en\"` is used as an invariant\n * for the sake of consistent sorting. Use `\"auto\"` to use the detected UI locale.\n *\n * This preference is ignored if {@link organizeImportsCollation} is not `\"unicode\"`.\n *\n * Default: `\"en\"`\n */\n readonly organizeImportsLocale?: string;\n /**\n * Indicates whether numeric collation should be used for digit sequences in strings. When `true`, will collate\n * strings such that `a1z < a2z < a100z`. When `false`, will collate strings such that `a1z < a100z < a2z`.\n *\n * This preference is ignored if {@link organizeImportsCollation} is not `\"unicode\"`.\n *\n * Default: `false`\n */\n readonly organizeImportsNumericCollation?: boolean;\n /**\n * Indicates whether accents and other diacritic marks are considered unequal for the purpose of collation. When\n * `true`, characters with accents and other diacritics will be collated in the order defined by the locale specified\n * in {@link organizeImportsCollationLocale}.\n *\n * This preference is ignored if {@link organizeImportsCollation} is not `\"unicode\"`.\n *\n * Default: `true`\n */\n readonly organizeImportsAccentCollation?: boolean;\n /**\n * Indicates whether upper case or lower case should sort first. When `false`, the default order for the locale\n * specified in {@link organizeImportsCollationLocale} is used.\n *\n * This preference is ignored if {@link organizeImportsCollation} is not `\"unicode\"`. This preference is also\n * ignored if we are using case-insensitive sorting, which occurs when {@link organizeImportsIgnoreCase} is `true`,\n * or if {@link organizeImportsIgnoreCase} is `\"auto\"` and the auto-detected case sensitivity is determined to be\n * case-insensitive.\n *\n * Default: `false`\n */\n readonly organizeImportsCaseFirst?: \"upper\" | \"lower\" | false;\n /**\n * Indicates where named type-only imports should sort. \"inline\" sorts named imports without regard to if the import is\n * type-only.\n *\n * Default: `last`\n */\n readonly organizeImportsTypeOrder?: OrganizeImportsTypeOrder;\n /**\n * Indicates whether to exclude standard library and node_modules file symbols from navTo results.\n */\n readonly excludeLibrarySymbolsInNavTo?: boolean;\n readonly lazyConfiguredProjectsFromExternalProject?: boolean;\n readonly displayPartsForJSDoc?: boolean;\n readonly generateReturnInDocTemplate?: boolean;\n readonly disableLineTextInReferences?: boolean;\n }\n type OrganizeImportsTypeOrder = \"last\" | \"inline\" | \"first\";\n /** Represents a bigint literal value without requiring bigint support */\n interface PseudoBigInt {\n negative: boolean;\n base10Value: string;\n }\n enum FileWatcherEventKind {\n Created = 0,\n Changed = 1,\n Deleted = 2,\n }\n type FileWatcherCallback = (fileName: string, eventKind: FileWatcherEventKind, modifiedTime?: Date) => void;\n type DirectoryWatcherCallback = (fileName: string) => void;\n type BufferEncoding = \"ascii\" | \"utf8\" | \"utf-8\" | \"utf16le\" | \"ucs2\" | \"ucs-2\" | \"base64\" | \"latin1\" | \"binary\" | \"hex\";\n interface System {\n args: string[];\n newLine: string;\n useCaseSensitiveFileNames: boolean;\n write(s: string): void;\n writeOutputIsTTY?(): boolean;\n getWidthOfTerminal?(): number;\n readFile(path: string, encoding?: string): string | undefined;\n getFileSize?(path: string): number;\n writeFile(path: string, data: string, writeByteOrderMark?: boolean): void;\n /**\n * @pollingInterval - this parameter is used in polling-based watchers and ignored in watchers that\n * use native OS file watching\n */\n watchFile?(path: string, callback: FileWatcherCallback, pollingInterval?: number, options?: WatchOptions): FileWatcher;\n watchDirectory?(path: string, callback: DirectoryWatcherCallback, recursive?: boolean, options?: WatchOptions): FileWatcher;\n resolvePath(path: string): string;\n fileExists(path: string): boolean;\n directoryExists(path: string): boolean;\n createDirectory(path: string): void;\n getExecutingFilePath(): string;\n getCurrentDirectory(): string;\n getDirectories(path: string): string[];\n readDirectory(path: string, extensions?: readonly string[], exclude?: readonly string[], include?: readonly string[], depth?: number): string[];\n getModifiedTime?(path: string): Date | undefined;\n setModifiedTime?(path: string, time: Date): void;\n deleteFile?(path: string): void;\n /**\n * A good implementation is node.js' `crypto.createHash`. (https://nodejs.org/api/crypto.html#crypto_crypto_createhash_algorithm)\n */\n createHash?(data: string): string;\n /** This must be cryptographically secure. Only implement this method using `crypto.createHash(\"sha256\")`. */\n createSHA256Hash?(data: string): string;\n getMemoryUsage?(): number;\n exit(exitCode?: number): void;\n realpath?(path: string): string;\n setTimeout?(callback: (...args: any[]) => void, ms: number, ...args: any[]): any;\n clearTimeout?(timeoutId: any): void;\n clearScreen?(): void;\n base64decode?(input: string): string;\n base64encode?(input: string): string;\n }\n interface FileWatcher {\n close(): void;\n }\n let sys: System;\n function tokenToString(t: SyntaxKind): string | undefined;\n function getPositionOfLineAndCharacter(sourceFile: SourceFileLike, line: number, character: number): number;\n function getLineAndCharacterOfPosition(sourceFile: SourceFileLike, position: number): LineAndCharacter;\n function isWhiteSpaceLike(ch: number): boolean;\n /** Does not include line breaks. For that, see isWhiteSpaceLike. */\n function isWhiteSpaceSingleLine(ch: number): boolean;\n function isLineBreak(ch: number): boolean;\n function couldStartTrivia(text: string, pos: number): boolean;\n function forEachLeadingCommentRange<U>(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean) => U): U | undefined;\n function forEachLeadingCommentRange<T, U>(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T): U | undefined;\n function forEachTrailingCommentRange<U>(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean) => U): U | undefined;\n function forEachTrailingCommentRange<T, U>(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T): U | undefined;\n function reduceEachLeadingCommentRange<T, U>(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T, initial: U): U | undefined;\n function reduceEachTrailingCommentRange<T, U>(text: string, pos: number, cb: (pos: number, end: number, kind: CommentKind, hasTrailingNewLine: boolean, state: T) => U, state: T, initial: U): U | undefined;\n function getLeadingCommentRanges(text: string, pos: number): CommentRange[] | undefined;\n function getTrailingCommentRanges(text: string, pos: number): CommentRange[] | undefined;\n /** Optionally, get the shebang */\n function getShebang(text: string): string | undefined;\n function isIdentifierStart(ch: number, languageVersion: ScriptTarget | undefined): boolean;\n function isIdentifierPart(ch: number, languageVersion: ScriptTarget | undefined, identifierVariant?: LanguageVariant): boolean;\n function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean, languageVariant?: LanguageVariant, textInitial?: string, onError?: ErrorCallback, start?: number, length?: number): Scanner;\n type ErrorCallback = (message: DiagnosticMessage, length: number, arg0?: any) => void;\n interface Scanner {\n /** @deprecated use {@link getTokenFullStart} */\n getStartPos(): number;\n getToken(): SyntaxKind;\n getTokenFullStart(): number;\n getTokenStart(): number;\n getTokenEnd(): number;\n /** @deprecated use {@link getTokenEnd} */\n getTextPos(): number;\n /** @deprecated use {@link getTokenStart} */\n getTokenPos(): number;\n getTokenText(): string;\n getTokenValue(): string;\n hasUnicodeEscape(): boolean;\n hasExtendedUnicodeEscape(): boolean;\n hasPrecedingLineBreak(): boolean;\n isIdentifier(): boolean;\n isReservedWord(): boolean;\n isUnterminated(): boolean;\n reScanGreaterToken(): SyntaxKind;\n reScanSlashToken(): SyntaxKind;\n reScanAsteriskEqualsToken(): SyntaxKind;\n reScanTemplateToken(isTaggedTemplate: boolean): SyntaxKind;\n /** @deprecated use {@link reScanTemplateToken}(false) */\n reScanTemplateHeadOrNoSubstitutionTemplate(): SyntaxKind;\n scanJsxIdentifier(): SyntaxKind;\n scanJsxAttributeValue(): SyntaxKind;\n reScanJsxAttributeValue(): SyntaxKind;\n reScanJsxToken(allowMultilineJsxText?: boolean): JsxTokenSyntaxKind;\n reScanLessThanToken(): SyntaxKind;\n reScanHashToken(): SyntaxKind;\n reScanQuestionToken(): SyntaxKind;\n reScanInvalidIdentifier(): SyntaxKind;\n scanJsxToken(): JsxTokenSyntaxKind;\n scanJsDocToken(): JSDocSyntaxKind;\n scan(): SyntaxKind;\n getText(): string;\n setText(text: string | undefined, start?: number, length?: number): void;\n setOnError(onError: ErrorCallback | undefined): void;\n setScriptTarget(scriptTarget: ScriptTarget): void;\n setLanguageVariant(variant: LanguageVariant): void;\n setScriptKind(scriptKind: ScriptKind): void;\n setJSDocParsingMode(kind: JSDocParsingMode): void;\n /** @deprecated use {@link resetTokenState} */\n setTextPos(textPos: number): void;\n resetTokenState(pos: number): void;\n lookAhead<T>(callback: () => T): T;\n scanRange<T>(start: number, length: number, callback: () => T): T;\n tryScan<T>(callback: () => T): T;\n }\n function isExternalModuleNameRelative(moduleName: string): boolean;\n function sortAndDeduplicateDiagnostics<T extends Diagnostic>(diagnostics: readonly T[]): SortedReadonlyArray<T>;\n function getDefaultLibFileName(options: CompilerOptions): string;\n function textSpanEnd(span: TextSpan): number;\n function textSpanIsEmpty(span: TextSpan): boolean;\n function textSpanContainsPosition(span: TextSpan, position: number): boolean;\n function textSpanContainsTextSpan(span: TextSpan, other: TextSpan): boolean;\n function textSpanOverlapsWith(span: TextSpan, other: TextSpan): boolean;\n function textSpanOverlap(span1: TextSpan, span2: TextSpan): TextSpan | undefined;\n function textSpanIntersectsWithTextSpan(span: TextSpan, other: TextSpan): boolean;\n function textSpanIntersectsWith(span: TextSpan, start: number, length: number): boolean;\n function decodedTextSpanIntersectsWith(start1: number, length1: number, start2: number, length2: number): boolean;\n function textSpanIntersectsWithPosition(span: TextSpan, position: number): boolean;\n function textSpanIntersection(span1: TextSpan, span2: TextSpan): TextSpan | undefined;\n function createTextSpan(start: number, length: number): TextSpan;\n function createTextSpanFromBounds(start: number, end: number): TextSpan;\n function textChangeRangeNewSpan(range: TextChangeRange): TextSpan;\n function textChangeRangeIsUnchanged(range: TextChangeRange): boolean;\n function createTextChangeRange(span: TextSpan, newLength: number): TextChangeRange;\n /**\n * Called to merge all the changes that occurred across several versions of a script snapshot\n * into a single change. i.e. if a user keeps making successive edits to a script we will\n * have a text change from V1 to V2, V2 to V3, ..., Vn.\n *\n * This function will then merge those changes into a single change range valid between V1 and\n * Vn.\n */\n function collapseTextChangeRangesAcrossMultipleVersions(changes: readonly TextChangeRange[]): TextChangeRange;\n function getTypeParameterOwner(d: Declaration): Declaration | undefined;\n function isParameterPropertyDeclaration(node: Node, parent: Node): node is ParameterPropertyDeclaration;\n function isEmptyBindingPattern(node: BindingName): node is BindingPattern;\n function isEmptyBindingElement(node: BindingElement | ArrayBindingElement): boolean;\n function walkUpBindingElementsAndPatterns(binding: BindingElement): VariableDeclaration | ParameterDeclaration;\n function getCombinedModifierFlags(node: Declaration): ModifierFlags;\n function getCombinedNodeFlags(node: Node): NodeFlags;\n /**\n * Checks to see if the locale is in the appropriate format,\n * and if it is, attempts to set the appropriate language.\n */\n function validateLocaleAndSetLanguage(locale: string, sys: {\n getExecutingFilePath(): string;\n resolvePath(path: string): string;\n fileExists(fileName: string): boolean;\n readFile(fileName: string): string | undefined;\n }, errors?: Diagnostic[]): void;\n function getOriginalNode(node: Node): Node;\n function getOriginalNode<T extends Node>(node: Node, nodeTest: (node: Node) => node is T): T;\n function getOriginalNode(node: Node | undefined): Node | undefined;\n function getOriginalNode<T extends Node>(node: Node | undefined, nodeTest: (node: Node) => node is T): T | undefined;\n /**\n * Iterates through the parent chain of a node and performs the callback on each parent until the callback\n * returns a truthy value, then returns that value.\n * If no such value is found, it applies the callback until the parent pointer is undefined or the callback returns \"quit\"\n * At that point findAncestor returns undefined.\n */\n function findAncestor<T extends Node>(node: Node | undefined, callback: (element: Node) => element is T): T | undefined;\n function findAncestor(node: Node | undefined, callback: (element: Node) => boolean | \"quit\"): Node | undefined;\n /**\n * Gets a value indicating whether a node originated in the parse tree.\n *\n * @param node The node to test.\n */\n function isParseTreeNode(node: Node): boolean;\n /**\n * Gets the original parse tree node for a node.\n *\n * @param node The original node.\n * @returns The original parse tree node if found; otherwise, undefined.\n */\n function getParseTreeNode(node: Node | undefined): Node | undefined;\n /**\n * Gets the original parse tree node for a node.\n *\n * @param node The original node.\n * @param nodeTest A callback used to ensure the correct type of parse tree node is returned.\n * @returns The original parse tree node if found; otherwise, undefined.\n */\n function getParseTreeNode<T extends Node>(node: T | undefined, nodeTest?: (node: Node) => node is T): T | undefined;\n /** Add an extra underscore to identifiers that start with two underscores to avoid issues with magic names like '__proto__' */\n function escapeLeadingUnderscores(identifier: string): __String;\n /**\n * Remove extra underscore from escaped identifier text content.\n *\n * @param identifier The escaped identifier text.\n * @returns The unescaped identifier text.\n */\n function unescapeLeadingUnderscores(identifier: __String): string;\n function idText(identifierOrPrivateName: Identifier | PrivateIdentifier): string;\n /**\n * If the text of an Identifier matches a keyword (including contextual and TypeScript-specific keywords), returns the\n * SyntaxKind for the matching keyword.\n */\n function identifierToKeywordKind(node: Identifier): KeywordSyntaxKind | undefined;\n function symbolName(symbol: Symbol): string;\n function getNameOfJSDocTypedef(declaration: JSDocTypedefTag): Identifier | PrivateIdentifier | undefined;\n function getNameOfDeclaration(declaration: Declaration | Expression | undefined): DeclarationName | undefined;\n function getDecorators(node: HasDecorators): readonly Decorator[] | undefined;\n function getModifiers(node: HasModifiers): readonly Modifier[] | undefined;\n /**\n * Gets the JSDoc parameter tags for the node if present.\n *\n * @remarks Returns any JSDoc param tag whose name matches the provided\n * parameter, whether a param tag on a containing function\n * expression, or a param tag on a variable declaration whose\n * initializer is the containing function. The tags closest to the\n * node are returned first, so in the previous example, the param\n * tag on the containing function expression would be first.\n *\n * For binding patterns, parameter tags are matched by position.\n */\n function getJSDocParameterTags(param: ParameterDeclaration): readonly JSDocParameterTag[];\n /**\n * Gets the JSDoc type parameter tags for the node if present.\n *\n * @remarks Returns any JSDoc template tag whose names match the provided\n * parameter, whether a template tag on a containing function\n * expression, or a template tag on a variable declaration whose\n * initializer is the containing function. The tags closest to the\n * node are returned first, so in the previous example, the template\n * tag on the containing function expression would be first.\n */\n function getJSDocTypeParameterTags(param: TypeParameterDeclaration): readonly JSDocTemplateTag[];\n /**\n * Return true if the node has JSDoc parameter tags.\n *\n * @remarks Includes parameter tags that are not directly on the node,\n * for example on a variable declaration whose initializer is a function expression.\n */\n function hasJSDocParameterTags(node: FunctionLikeDeclaration | SignatureDeclaration): boolean;\n /** Gets the JSDoc augments tag for the node if present */\n function getJSDocAugmentsTag(node: Node): JSDocAugmentsTag | undefined;\n /** Gets the JSDoc implements tags for the node if present */\n function getJSDocImplementsTags(node: Node): readonly JSDocImplementsTag[];\n /** Gets the JSDoc class tag for the node if present */\n function getJSDocClassTag(node: Node): JSDocClassTag | undefined;\n /** Gets the JSDoc public tag for the node if present */\n function getJSDocPublicTag(node: Node): JSDocPublicTag | undefined;\n /** Gets the JSDoc private tag for the node if present */\n function getJSDocPrivateTag(node: Node): JSDocPrivateTag | undefined;\n /** Gets the JSDoc protected tag for the node if present */\n function getJSDocProtectedTag(node: Node): JSDocProtectedTag | undefined;\n /** Gets the JSDoc protected tag for the node if present */\n function getJSDocReadonlyTag(node: Node): JSDocReadonlyTag | undefined;\n function getJSDocOverrideTagNoCache(node: Node): JSDocOverrideTag | undefined;\n /** Gets the JSDoc deprecated tag for the node if present */\n function getJSDocDeprecatedTag(node: Node): JSDocDeprecatedTag | undefined;\n /** Gets the JSDoc enum tag for the node if present */\n function getJSDocEnumTag(node: Node): JSDocEnumTag | undefined;\n /** Gets the JSDoc this tag for the node if present */\n function getJSDocThisTag(node: Node): JSDocThisTag | undefined;\n /** Gets the JSDoc return tag for the node if present */\n function getJSDocReturnTag(node: Node): JSDocReturnTag | undefined;\n /** Gets the JSDoc template tag for the node if present */\n function getJSDocTemplateTag(node: Node): JSDocTemplateTag | undefined;\n function getJSDocSatisfiesTag(node: Node): JSDocSatisfiesTag | undefined;\n /** Gets the JSDoc type tag for the node if present and valid */\n function getJSDocTypeTag(node: Node): JSDocTypeTag | undefined;\n /**\n * Gets the type node for the node if provided via JSDoc.\n *\n * @remarks The search includes any JSDoc param tag that relates\n * to the provided parameter, for example a type tag on the\n * parameter itself, or a param tag on a containing function\n * expression, or a param tag on a variable declaration whose\n * initializer is the containing function. The tags closest to the\n * node are examined first, so in the previous example, the type\n * tag directly on the node would be returned.\n */\n function getJSDocType(node: Node): TypeNode | undefined;\n /**\n * Gets the return type node for the node if provided via JSDoc return tag or type tag.\n *\n * @remarks `getJSDocReturnTag` just gets the whole JSDoc tag. This function\n * gets the type from inside the braces, after the fat arrow, etc.\n */\n function getJSDocReturnType(node: Node): TypeNode | undefined;\n /** Get all JSDoc tags related to a node, including those on parent nodes. */\n function getJSDocTags(node: Node): readonly JSDocTag[];\n /** Gets all JSDoc tags that match a specified predicate */\n function getAllJSDocTags<T extends JSDocTag>(node: Node, predicate: (tag: JSDocTag) => tag is T): readonly T[];\n /** Gets all JSDoc tags of a specified kind */\n function getAllJSDocTagsOfKind(node: Node, kind: SyntaxKind): readonly JSDocTag[];\n /** Gets the text of a jsdoc comment, flattening links to their text. */\n function getTextOfJSDocComment(comment?: string | NodeArray<JSDocComment>): string | undefined;\n /**\n * Gets the effective type parameters. If the node was parsed in a\n * JavaScript file, gets the type parameters from the `@template` tag from JSDoc.\n *\n * This does *not* return type parameters from a jsdoc reference to a generic type, eg\n *\n * type Id = <T>(x: T) => T\n * /** @type {Id} /\n * function id(x) { return x }\n */\n function getEffectiveTypeParameterDeclarations(node: DeclarationWithTypeParameters): readonly TypeParameterDeclaration[];\n function getEffectiveConstraintOfTypeParameter(node: TypeParameterDeclaration): TypeNode | undefined;\n function isMemberName(node: Node): node is MemberName;\n function isPropertyAccessChain(node: Node): node is PropertyAccessChain;\n function isElementAccessChain(node: Node): node is ElementAccessChain;\n function isCallChain(node: Node): node is CallChain;\n function isOptionalChain(node: Node): node is PropertyAccessChain | ElementAccessChain | CallChain | NonNullChain;\n function isNullishCoalesce(node: Node): boolean;\n function isConstTypeReference(node: Node): boolean;\n function skipPartiallyEmittedExpressions(node: Expression): Expression;\n function skipPartiallyEmittedExpressions(node: Node): Node;\n function isNonNullChain(node: Node): node is NonNullChain;\n function isBreakOrContinueStatement(node: Node): node is BreakOrContinueStatement;\n function isNamedExportBindings(node: Node): node is NamedExportBindings;\n function isJSDocPropertyLikeTag(node: Node): node is JSDocPropertyLikeTag;\n /**\n * True if kind is of some token syntax kind.\n * For example, this is true for an IfKeyword but not for an IfStatement.\n * Literals are considered tokens, except TemplateLiteral, but does include TemplateHead/Middle/Tail.\n */\n function isTokenKind(kind: SyntaxKind): boolean;\n /**\n * True if node is of some token syntax kind.\n * For example, this is true for an IfKeyword but not for an IfStatement.\n * Literals are considered tokens, except TemplateLiteral, but does include TemplateHead/Middle/Tail.\n */\n function isToken(n: Node): boolean;\n function isLiteralExpression(node: Node): node is LiteralExpression;\n function isTemplateLiteralToken(node: Node): node is TemplateLiteralToken;\n function isTemplateMiddleOrTemplateTail(node: Node): node is TemplateMiddle | TemplateTail;\n function isImportOrExportSpecifier(node: Node): node is ImportSpecifier | ExportSpecifier;\n function isTypeOnlyImportDeclaration(node: Node): node is TypeOnlyImportDeclaration;\n function isTypeOnlyExportDeclaration(node: Node): node is TypeOnlyExportDeclaration;\n function isTypeOnlyImportOrExportDeclaration(node: Node): node is TypeOnlyAliasDeclaration;\n function isPartOfTypeOnlyImportOrExportDeclaration(node: Node): boolean;\n function isStringTextContainingNode(node: Node): node is StringLiteral | TemplateLiteralToken;\n function isImportAttributeName(node: Node): node is ImportAttributeName;\n function isModifier(node: Node): node is Modifier;\n function isEntityName(node: Node): node is EntityName;\n function isPropertyName(node: Node): node is PropertyName;\n function isBindingName(node: Node): node is BindingName;\n function isFunctionLike(node: Node | undefined): node is SignatureDeclaration;\n function isClassElement(node: Node): node is ClassElement;\n function isClassLike(node: Node): node is ClassLikeDeclaration;\n function isAccessor(node: Node): node is AccessorDeclaration;\n function isAutoAccessorPropertyDeclaration(node: Node): node is AutoAccessorPropertyDeclaration;\n function isModifierLike(node: Node): node is ModifierLike;\n function isTypeElement(node: Node): node is TypeElement;\n function isClassOrTypeElement(node: Node): node is ClassElement | TypeElement;\n function isObjectLiteralElementLike(node: Node): node is ObjectLiteralElementLike;\n /**\n * Node test that determines whether a node is a valid type node.\n * This differs from the `isPartOfTypeNode` function which determines whether a node is *part*\n * of a TypeNode.\n */\n function isTypeNode(node: Node): node is TypeNode;\n function isFunctionOrConstructorTypeNode(node: Node): node is FunctionTypeNode | ConstructorTypeNode;\n function isArrayBindingElement(node: Node): node is ArrayBindingElement;\n function isPropertyAccessOrQualifiedName(node: Node): node is PropertyAccessExpression | QualifiedName;\n function isCallLikeExpression(node: Node): node is CallLikeExpression;\n function isCallOrNewExpression(node: Node): node is CallExpression | NewExpression;\n function isTemplateLiteral(node: Node): node is TemplateLiteral;\n function isLeftHandSideExpression(node: Node): node is LeftHandSideExpression;\n function isLiteralTypeLiteral(node: Node): node is NullLiteral | BooleanLiteral | LiteralExpression | PrefixUnaryExpression;\n /**\n * Determines whether a node is an expression based only on its kind.\n */\n function isExpression(node: Node): node is Expression;\n function isAssertionExpression(node: Node): node is AssertionExpression;\n function isIterationStatement(node: Node, lookInLabeledStatements: false): node is IterationStatement;\n function isIterationStatement(node: Node, lookInLabeledStatements: boolean): node is IterationStatement | LabeledStatement;\n function isConciseBody(node: Node): node is ConciseBody;\n function isForInitializer(node: Node): node is ForInitializer;\n function isModuleBody(node: Node): node is ModuleBody;\n function isNamedImportBindings(node: Node): node is NamedImportBindings;\n function isDeclarationStatement(node: Node): node is DeclarationStatement;\n function isStatement(node: Node): node is Statement;\n function isModuleReference(node: Node): node is ModuleReference;\n function isJsxTagNameExpression(node: Node): node is JsxTagNameExpression;\n function isJsxChild(node: Node): node is JsxChild;\n function isJsxAttributeLike(node: Node): node is JsxAttributeLike;\n function isStringLiteralOrJsxExpression(node: Node): node is StringLiteral | JsxExpression;\n function isJsxOpeningLikeElement(node: Node): node is JsxOpeningLikeElement;\n function isJsxCallLike(node: Node): node is JsxCallLike;\n function isCaseOrDefaultClause(node: Node): node is CaseOrDefaultClause;\n /** True if node is of a kind that may contain comment text. */\n function isJSDocCommentContainingNode(node: Node): boolean;\n function isSetAccessor(node: Node): node is SetAccessorDeclaration;\n function isGetAccessor(node: Node): node is GetAccessorDeclaration;\n /** True if has initializer node attached to it. */\n function hasOnlyExpressionInitializer(node: Node): node is HasExpressionInitializer;\n function isObjectLiteralElement(node: Node): node is ObjectLiteralElement;\n function isStringLiteralLike(node: Node | FileReference): node is StringLiteralLike;\n function isJSDocLinkLike(node: Node): node is JSDocLink | JSDocLinkCode | JSDocLinkPlain;\n function hasRestParameter(s: SignatureDeclaration | JSDocSignature): boolean;\n function isRestParameter(node: ParameterDeclaration | JSDocParameterTag): boolean;\n function isInternalDeclaration(node: Node, sourceFile?: SourceFile): boolean;\n const unchangedTextChangeRange: TextChangeRange;\n type ParameterPropertyDeclaration = ParameterDeclaration & {\n parent: ConstructorDeclaration;\n name: Identifier;\n };\n function isPartOfTypeNode(node: Node): boolean;\n /**\n * This function checks multiple locations for JSDoc comments that apply to a host node.\n * At each location, the whole comment may apply to the node, or only a specific tag in\n * the comment. In the first case, location adds the entire {@link JSDoc} object. In the\n * second case, it adds the applicable {@link JSDocTag}.\n *\n * For example, a JSDoc comment before a parameter adds the entire {@link JSDoc}. But a\n * `@param` tag on the parent function only adds the {@link JSDocTag} for the `@param`.\n *\n * ```ts\n * /** JSDoc will be returned for `a` *\\/\n * const a = 0\n * /**\n * * Entire JSDoc will be returned for `b`\n * * @param c JSDocTag will be returned for `c`\n * *\\/\n * function b(/** JSDoc will be returned for `c` *\\/ c) {}\n * ```\n */\n function getJSDocCommentsAndTags(hostNode: Node): readonly (JSDoc | JSDocTag)[];\n /**\n * Create an external source map source file reference\n */\n function createSourceMapSource(fileName: string, text: string, skipTrivia?: (pos: number) => number): SourceMapSource;\n function setOriginalNode<T extends Node>(node: T, original: Node | undefined): T;\n const factory: NodeFactory;\n /**\n * Clears any `EmitNode` entries from parse-tree nodes.\n * @param sourceFile A source file.\n */\n function disposeEmitNodes(sourceFile: SourceFile | undefined): void;\n /**\n * Sets flags that control emit behavior of a node.\n */\n function setEmitFlags<T extends Node>(node: T, emitFlags: EmitFlags): T;\n /**\n * Gets a custom text range to use when emitting source maps.\n */\n function getSourceMapRange(node: Node): SourceMapRange;\n /**\n * Sets a custom text range to use when emitting source maps.\n */\n function setSourceMapRange<T extends Node>(node: T, range: SourceMapRange | undefined): T;\n /**\n * Gets the TextRange to use for source maps for a token of a node.\n */\n function getTokenSourceMapRange(node: Node, token: SyntaxKind): SourceMapRange | undefined;\n /**\n * Sets the TextRange to use for source maps for a token of a node.\n */\n function setTokenSourceMapRange<T extends Node>(node: T, token: SyntaxKind, range: SourceMapRange | undefined): T;\n /**\n * Gets a custom text range to use when emitting comments.\n */\n function getCommentRange(node: Node): TextRange;\n /**\n * Sets a custom text range to use when emitting comments.\n */\n function setCommentRange<T extends Node>(node: T, range: TextRange): T;\n function getSyntheticLeadingComments(node: Node): SynthesizedComment[] | undefined;\n function setSyntheticLeadingComments<T extends Node>(node: T, comments: SynthesizedComment[] | undefined): T;\n function addSyntheticLeadingComment<T extends Node>(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T;\n function getSyntheticTrailingComments(node: Node): SynthesizedComment[] | undefined;\n function setSyntheticTrailingComments<T extends Node>(node: T, comments: SynthesizedComment[] | undefined): T;\n function addSyntheticTrailingComment<T extends Node>(node: T, kind: SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia, text: string, hasTrailingNewLine?: boolean): T;\n function moveSyntheticComments<T extends Node>(node: T, original: Node): T;\n /**\n * Gets the constant value to emit for an expression representing an enum.\n */\n function getConstantValue(node: AccessExpression): string | number | undefined;\n /**\n * Sets the constant value to emit for an expression.\n */\n function setConstantValue(node: AccessExpression, value: string | number): AccessExpression;\n /**\n * Adds an EmitHelper to a node.\n */\n function addEmitHelper<T extends Node>(node: T, helper: EmitHelper): T;\n /**\n * Add EmitHelpers to a node.\n */\n function addEmitHelpers<T extends Node>(node: T, helpers: EmitHelper[] | undefined): T;\n /**\n * Removes an EmitHelper from a node.\n */\n function removeEmitHelper(node: Node, helper: EmitHelper): boolean;\n /**\n * Gets the EmitHelpers of a node.\n */\n function getEmitHelpers(node: Node): EmitHelper[] | undefined;\n /**\n * Moves matching emit helpers from a source node to a target node.\n */\n function moveEmitHelpers(source: Node, target: Node, predicate: (helper: EmitHelper) => boolean): void;\n function isNumericLiteral(node: Node): node is NumericLiteral;\n function isBigIntLiteral(node: Node): node is BigIntLiteral;\n function isStringLiteral(node: Node): node is StringLiteral;\n function isJsxText(node: Node): node is JsxText;\n function isRegularExpressionLiteral(node: Node): node is RegularExpressionLiteral;\n function isNoSubstitutionTemplateLiteral(node: Node): node is NoSubstitutionTemplateLiteral;\n function isTemplateHead(node: Node): node is TemplateHead;\n function isTemplateMiddle(node: Node): node is TemplateMiddle;\n function isTemplateTail(node: Node): node is TemplateTail;\n function isDotDotDotToken(node: Node): node is DotDotDotToken;\n function isPlusToken(node: Node): node is PlusToken;\n function isMinusToken(node: Node): node is MinusToken;\n function isAsteriskToken(node: Node): node is AsteriskToken;\n function isExclamationToken(node: Node): node is ExclamationToken;\n function isQuestionToken(node: Node): node is QuestionToken;\n function isColonToken(node: Node): node is ColonToken;\n function isQuestionDotToken(node: Node): node is QuestionDotToken;\n function isEqualsGreaterThanToken(node: Node): node is EqualsGreaterThanToken;\n function isIdentifier(node: Node): node is Identifier;\n function isPrivateIdentifier(node: Node): node is PrivateIdentifier;\n function isAssertsKeyword(node: Node): node is AssertsKeyword;\n function isAwaitKeyword(node: Node): node is AwaitKeyword;\n function isQualifiedName(node: Node): node is QualifiedName;\n function isComputedPropertyName(node: Node): node is ComputedPropertyName;\n function isTypeParameterDeclaration(node: Node): node is TypeParameterDeclaration;\n function isParameter(node: Node): node is ParameterDeclaration;\n function isDecorator(node: Node): node is Decorator;\n function isPropertySignature(node: Node): node is PropertySignature;\n function isPropertyDeclaration(node: Node): node is PropertyDeclaration;\n function isMethodSignature(node: Node): node is MethodSignature;\n function isMethodDeclaration(node: Node): node is MethodDeclaration;\n function isClassStaticBlockDeclaration(node: Node): node is ClassStaticBlockDeclaration;\n function isConstructorDeclaration(node: Node): node is ConstructorDeclaration;\n function isGetAccessorDeclaration(node: Node): node is GetAccessorDeclaration;\n function isSetAccessorDeclaration(node: Node): node is SetAccessorDeclaration;\n function isCallSignatureDeclaration(node: Node): node is CallSignatureDeclaration;\n function isConstructSignatureDeclaration(node: Node): node is ConstructSignatureDeclaration;\n function isIndexSignatureDeclaration(node: Node): node is IndexSignatureDeclaration;\n function isTypePredicateNode(node: Node): node is TypePredicateNode;\n function isTypeReferenceNode(node: Node): node is TypeReferenceNode;\n function isFunctionTypeNode(node: Node): node is FunctionTypeNode;\n function isConstructorTypeNode(node: Node): node is ConstructorTypeNode;\n function isTypeQueryNode(node: Node): node is TypeQueryNode;\n function isTypeLiteralNode(node: Node): node is TypeLiteralNode;\n function isArrayTypeNode(node: Node): node is ArrayTypeNode;\n function isTupleTypeNode(node: Node): node is TupleTypeNode;\n function isNamedTupleMember(node: Node): node is NamedTupleMember;\n function isOptionalTypeNode(node: Node): node is OptionalTypeNode;\n function isRestTypeNode(node: Node): node is RestTypeNode;\n function isUnionTypeNode(node: Node): node is UnionTypeNode;\n function isIntersectionTypeNode(node: Node): node is IntersectionTypeNode;\n function isConditionalTypeNode(node: Node): node is ConditionalTypeNode;\n function isInferTypeNode(node: Node): node is InferTypeNode;\n function isParenthesizedTypeNode(node: Node): node is ParenthesizedTypeNode;\n function isThisTypeNode(node: Node): node is ThisTypeNode;\n function isTypeOperatorNode(node: Node): node is TypeOperatorNode;\n function isIndexedAccessTypeNode(node: Node): node is IndexedAccessTypeNode;\n function isMappedTypeNode(node: Node): node is MappedTypeNode;\n function isLiteralTypeNode(node: Node): node is LiteralTypeNode;\n function isImportTypeNode(node: Node): node is ImportTypeNode;\n function isTemplateLiteralTypeSpan(node: Node): node is TemplateLiteralTypeSpan;\n function isTemplateLiteralTypeNode(node: Node): node is TemplateLiteralTypeNode;\n function isObjectBindingPattern(node: Node): node is ObjectBindingPattern;\n function isArrayBindingPattern(node: Node): node is ArrayBindingPattern;\n function isBindingElement(node: Node): node is BindingElement;\n function isArrayLiteralExpression(node: Node): node is ArrayLiteralExpression;\n function isObjectLiteralExpression(node: Node): node is ObjectLiteralExpression;\n function isPropertyAccessExpression(node: Node): node is PropertyAccessExpression;\n function isElementAccessExpression(node: Node): node is ElementAccessExpression;\n function isCallExpression(node: Node): node is CallExpression;\n function isNewExpression(node: Node): node is NewExpression;\n function isTaggedTemplateExpression(node: Node): node is TaggedTemplateExpression;\n function isTypeAssertionExpression(node: Node): node is TypeAssertion;\n function isParenthesizedExpression(node: Node): node is ParenthesizedExpression;\n function isFunctionExpression(node: Node): node is FunctionExpression;\n function isArrowFunction(node: Node): node is ArrowFunction;\n function isDeleteExpression(node: Node): node is DeleteExpression;\n function isTypeOfExpression(node: Node): node is TypeOfExpression;\n function isVoidExpression(node: Node): node is VoidExpression;\n function isAwaitExpression(node: Node): node is AwaitExpression;\n function isPrefixUnaryExpression(node: Node): node is PrefixUnaryExpression;\n function isPostfixUnaryExpression(node: Node): node is PostfixUnaryExpression;\n function isBinaryExpression(node: Node): node is BinaryExpression;\n function isConditionalExpression(node: Node): node is ConditionalExpression;\n function isTemplateExpression(node: Node): node is TemplateExpression;\n function isYieldExpression(node: Node): node is YieldExpression;\n function isSpreadElement(node: Node): node is SpreadElement;\n function isClassExpression(node: Node): node is ClassExpression;\n function isOmittedExpression(node: Node): node is OmittedExpression;\n function isExpressionWithTypeArguments(node: Node): node is ExpressionWithTypeArguments;\n function isAsExpression(node: Node): node is AsExpression;\n function isSatisfiesExpression(node: Node): node is SatisfiesExpression;\n function isNonNullExpression(node: Node): node is NonNullExpression;\n function isMetaProperty(node: Node): node is MetaProperty;\n function isSyntheticExpression(node: Node): node is SyntheticExpression;\n function isPartiallyEmittedExpression(node: Node): node is PartiallyEmittedExpression;\n function isCommaListExpression(node: Node): node is CommaListExpression;\n function isTemplateSpan(node: Node): node is TemplateSpan;\n function isSemicolonClassElement(node: Node): node is SemicolonClassElement;\n function isBlock(node: Node): node is Block;\n function isVariableStatement(node: Node): node is VariableStatement;\n function isEmptyStatement(node: Node): node is EmptyStatement;\n function isExpressionStatement(node: Node): node is ExpressionStatement;\n function isIfStatement(node: Node): node is IfStatement;\n function isDoStatement(node: Node): node is DoStatement;\n function isWhileStatement(node: Node): node is WhileStatement;\n function isForStatement(node: Node): node is ForStatement;\n function isForInStatement(node: Node): node is ForInStatement;\n function isForOfStatement(node: Node): node is ForOfStatement;\n function isContinueStatement(node: Node): node is ContinueStatement;\n function isBreakStatement(node: Node): node is BreakStatement;\n function isReturnStatement(node: Node): node is ReturnStatement;\n function isWithStatement(node: Node): node is WithStatement;\n function isSwitchStatement(node: Node): node is SwitchStatement;\n function isLabeledStatement(node: Node): node is LabeledStatement;\n function isThrowStatement(node: Node): node is ThrowStatement;\n function isTryStatement(node: Node): node is TryStatement;\n function isDebuggerStatement(node: Node): node is DebuggerStatement;\n function isVariableDeclaration(node: Node): node is VariableDeclaration;\n function isVariableDeclarationList(node: Node): node is VariableDeclarationList;\n function isFunctionDeclaration(node: Node): node is FunctionDeclaration;\n function isClassDeclaration(node: Node): node is ClassDeclaration;\n function isInterfaceDeclaration(node: Node): node is InterfaceDeclaration;\n function isTypeAliasDeclaration(node: Node): node is TypeAliasDeclaration;\n function isEnumDeclaration(node: Node): node is EnumDeclaration;\n function isModuleDeclaration(node: Node): node is ModuleDeclaration;\n function isModuleBlock(node: Node): node is ModuleBlock;\n function isCaseBlock(node: Node): node is CaseBlock;\n function isNamespaceExportDeclaration(node: Node): node is NamespaceExportDeclaration;\n function isImportEqualsDeclaration(node: Node): node is ImportEqualsDeclaration;\n function isImportDeclaration(node: Node): node is ImportDeclaration;\n function isImportClause(node: Node): node is ImportClause;\n function isImportTypeAssertionContainer(node: Node): node is ImportTypeAssertionContainer;\n /** @deprecated */\n function isAssertClause(node: Node): node is AssertClause;\n /** @deprecated */\n function isAssertEntry(node: Node): node is AssertEntry;\n function isImportAttributes(node: Node): node is ImportAttributes;\n function isImportAttribute(node: Node): node is ImportAttribute;\n function isNamespaceImport(node: Node): node is NamespaceImport;\n function isNamespaceExport(node: Node): node is NamespaceExport;\n function isNamedImports(node: Node): node is NamedImports;\n function isImportSpecifier(node: Node): node is ImportSpecifier;\n function isExportAssignment(node: Node): node is ExportAssignment;\n function isExportDeclaration(node: Node): node is ExportDeclaration;\n function isNamedExports(node: Node): node is NamedExports;\n function isExportSpecifier(node: Node): node is ExportSpecifier;\n function isModuleExportName(node: Node): node is ModuleExportName;\n function isMissingDeclaration(node: Node): node is MissingDeclaration;\n function isNotEmittedStatement(node: Node): node is NotEmittedStatement;\n function isExternalModuleReference(node: Node): node is ExternalModuleReference;\n function isJsxElement(node: Node): node is JsxElement;\n function isJsxSelfClosingElement(node: Node): node is JsxSelfClosingElement;\n function isJsxOpeningElement(node: Node): node is JsxOpeningElement;\n function isJsxClosingElement(node: Node): node is JsxClosingElement;\n function isJsxFragment(node: Node): node is JsxFragment;\n function isJsxOpeningFragment(node: Node): node is JsxOpeningFragment;\n function isJsxClosingFragment(node: Node): node is JsxClosingFragment;\n function isJsxAttribute(node: Node): node is JsxAttribute;\n function isJsxAttributes(node: Node): node is JsxAttributes;\n function isJsxSpreadAttribute(node: Node): node is JsxSpreadAttribute;\n function isJsxExpression(node: Node): node is JsxExpression;\n function isJsxNamespacedName(node: Node): node is JsxNamespacedName;\n function isCaseClause(node: Node): node is CaseClause;\n function isDefaultClause(node: Node): node is DefaultClause;\n function isHeritageClause(node: Node): node is HeritageClause;\n function isCatchClause(node: Node): node is CatchClause;\n function isPropertyAssignment(node: Node): node is PropertyAssignment;\n function isShorthandPropertyAssignment(node: Node): node is ShorthandPropertyAssignment;\n function isSpreadAssignment(node: Node): node is SpreadAssignment;\n function isEnumMember(node: Node): node is EnumMember;\n function isSourceFile(node: Node): node is SourceFile;\n function isBundle(node: Node): node is Bundle;\n function isJSDocTypeExpression(node: Node): node is JSDocTypeExpression;\n function isJSDocNameReference(node: Node): node is JSDocNameReference;\n function isJSDocMemberName(node: Node): node is JSDocMemberName;\n function isJSDocLink(node: Node): node is JSDocLink;\n function isJSDocLinkCode(node: Node): node is JSDocLinkCode;\n function isJSDocLinkPlain(node: Node): node is JSDocLinkPlain;\n function isJSDocAllType(node: Node): node is JSDocAllType;\n function isJSDocUnknownType(node: Node): node is JSDocUnknownType;\n function isJSDocNullableType(node: Node): node is JSDocNullableType;\n function isJSDocNonNullableType(node: Node): node is JSDocNonNullableType;\n function isJSDocOptionalType(node: Node): node is JSDocOptionalType;\n function isJSDocFunctionType(node: Node): node is JSDocFunctionType;\n function isJSDocVariadicType(node: Node): node is JSDocVariadicType;\n function isJSDocNamepathType(node: Node): node is JSDocNamepathType;\n function isJSDoc(node: Node): node is JSDoc;\n function isJSDocTypeLiteral(node: Node): node is JSDocTypeLiteral;\n function isJSDocSignature(node: Node): node is JSDocSignature;\n function isJSDocAugmentsTag(node: Node): node is JSDocAugmentsTag;\n function isJSDocAuthorTag(node: Node): node is JSDocAuthorTag;\n function isJSDocClassTag(node: Node): node is JSDocClassTag;\n function isJSDocCallbackTag(node: Node): node is JSDocCallbackTag;\n function isJSDocPublicTag(node: Node): node is JSDocPublicTag;\n function isJSDocPrivateTag(node: Node): node is JSDocPrivateTag;\n function isJSDocProtectedTag(node: Node): node is JSDocProtectedTag;\n function isJSDocReadonlyTag(node: Node): node is JSDocReadonlyTag;\n function isJSDocOverrideTag(node: Node): node is JSDocOverrideTag;\n function isJSDocOverloadTag(node: Node): node is JSDocOverloadTag;\n function isJSDocDeprecatedTag(node: Node): node is JSDocDeprecatedTag;\n function isJSDocSeeTag(node: Node): node is JSDocSeeTag;\n function isJSDocEnumTag(node: Node): node is JSDocEnumTag;\n function isJSDocParameterTag(node: Node): node is JSDocParameterTag;\n function isJSDocReturnTag(node: Node): node is JSDocReturnTag;\n function isJSDocThisTag(node: Node): node is JSDocThisTag;\n function isJSDocTypeTag(node: Node): node is JSDocTypeTag;\n function isJSDocTemplateTag(node: Node): node is JSDocTemplateTag;\n function isJSDocTypedefTag(node: Node): node is JSDocTypedefTag;\n function isJSDocUnknownTag(node: Node): node is JSDocUnknownTag;\n function isJSDocPropertyTag(node: Node): node is JSDocPropertyTag;\n function isJSDocImplementsTag(node: Node): node is JSDocImplementsTag;\n function isJSDocSatisfiesTag(node: Node): node is JSDocSatisfiesTag;\n function isJSDocThrowsTag(node: Node): node is JSDocThrowsTag;\n function isJSDocImportTag(node: Node): node is JSDocImportTag;\n function isQuestionOrExclamationToken(node: Node): node is QuestionToken | ExclamationToken;\n function isIdentifierOrThisTypeNode(node: Node): node is Identifier | ThisTypeNode;\n function isReadonlyKeywordOrPlusOrMinusToken(node: Node): node is ReadonlyKeyword | PlusToken | MinusToken;\n function isQuestionOrPlusOrMinusToken(node: Node): node is QuestionToken | PlusToken | MinusToken;\n function isModuleName(node: Node): node is ModuleName;\n function isBinaryOperatorToken(node: Node): node is BinaryOperatorToken;\n function setTextRange<T extends TextRange>(range: T, location: TextRange | undefined): T;\n function canHaveModifiers(node: Node): node is HasModifiers;\n function canHaveDecorators(node: Node): node is HasDecorators;\n /**\n * Invokes a callback for each child of the given node. The 'cbNode' callback is invoked for all child nodes\n * stored in properties. If a 'cbNodes' callback is specified, it is invoked for embedded arrays; otherwise,\n * embedded arrays are flattened and the 'cbNode' callback is invoked for each element. If a callback returns\n * a truthy value, iteration stops and that value is returned. Otherwise, undefined is returned.\n *\n * @param node a given node to visit its children\n * @param cbNode a callback to be invoked for all child nodes\n * @param cbNodes a callback to be invoked for embedded array\n *\n * @remarks `forEachChild` must visit the children of a node in the order\n * that they appear in the source code. The language service depends on this property to locate nodes by position.\n */\n function forEachChild<T>(node: Node, cbNode: (node: Node) => T | undefined, cbNodes?: (nodes: NodeArray<Node>) => T | undefined): T | undefined;\n function createSourceFile(fileName: string, sourceText: string, languageVersionOrOptions: ScriptTarget | CreateSourceFileOptions, setParentNodes?: boolean, scriptKind?: ScriptKind): SourceFile;\n function parseIsolatedEntityName(text: string, languageVersion: ScriptTarget): EntityName | undefined;\n /**\n * Parse json text into SyntaxTree and return node and parse errors if any\n * @param fileName\n * @param sourceText\n */\n function parseJsonText(fileName: string, sourceText: string): JsonSourceFile;\n function isExternalModule(file: SourceFile): boolean;\n function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile;\n interface CreateSourceFileOptions {\n languageVersion: ScriptTarget;\n /**\n * Controls the format the file is detected as - this can be derived from only the path\n * and files on disk, but needs to be done with a module resolution cache in scope to be performant.\n * This is usually `undefined` for compilations that do not have `moduleResolution` values of `node16` or `nodenext`.\n */\n impliedNodeFormat?: ResolutionMode;\n /**\n * Controls how module-y-ness is set for the given file. Usually the result of calling\n * `getSetExternalModuleIndicator` on a valid `CompilerOptions` object. If not present, the default\n * check specified by `isFileProbablyExternalModule` will be used to set the field.\n */\n setExternalModuleIndicator?: (file: SourceFile) => void;\n jsDocParsingMode?: JSDocParsingMode;\n }\n function parseCommandLine(commandLine: readonly string[], readFile?: (path: string) => string | undefined): ParsedCommandLine;\n function parseBuildCommand(commandLine: readonly string[]): ParsedBuildCommand;\n /**\n * Reads the config file, reports errors if any and exits if the config file cannot be found\n */\n function getParsedCommandLineOfConfigFile(configFileName: string, optionsToExtend: CompilerOptions | undefined, host: ParseConfigFileHost, extendedConfigCache?: Map<string, ExtendedConfigCacheEntry>, watchOptionsToExtend?: WatchOptions, extraFileExtensions?: readonly FileExtensionInfo[]): ParsedCommandLine | undefined;\n /**\n * Read tsconfig.json file\n * @param fileName The path to the config file\n */\n function readConfigFile(fileName: string, readFile: (path: string) => string | undefined): {\n config?: any;\n error?: Diagnostic;\n };\n /**\n * Parse the text of the tsconfig.json file\n * @param fileName The path to the config file\n * @param jsonText The text of the config file\n */\n function parseConfigFileTextToJson(fileName: string, jsonText: string): {\n config?: any;\n error?: Diagnostic;\n };\n /**\n * Read tsconfig.json file\n * @param fileName The path to the config file\n */\n function readJsonConfigFile(fileName: string, readFile: (path: string) => string | undefined): TsConfigSourceFile;\n /**\n * Convert the json syntax tree into the json value\n */\n function convertToObject(sourceFile: JsonSourceFile, errors: Diagnostic[]): any;\n /**\n * Parse the contents of a config file (tsconfig.json).\n * @param json The contents of the config file to parse\n * @param host Instance of ParseConfigHost used to enumerate files in folder.\n * @param basePath A root directory to resolve relative path entries in the config\n * file to. e.g. outDir\n */\n function parseJsonConfigFileContent(json: any, host: ParseConfigHost, basePath: string, existingOptions?: CompilerOptions, configFileName?: string, resolutionStack?: Path[], extraFileExtensions?: readonly FileExtensionInfo[], extendedConfigCache?: Map<string, ExtendedConfigCacheEntry>, existingWatchOptions?: WatchOptions): ParsedCommandLine;\n /**\n * Parse the contents of a config file (tsconfig.json).\n * @param jsonNode The contents of the config file to parse\n * @param host Instance of ParseConfigHost used to enumerate files in folder.\n * @param basePath A root directory to resolve relative path entries in the config\n * file to. e.g. outDir\n */\n function parseJsonSourceFileConfigFileContent(sourceFile: TsConfigSourceFile, host: ParseConfigHost, basePath: string, existingOptions?: CompilerOptions, configFileName?: string, resolutionStack?: Path[], extraFileExtensions?: readonly FileExtensionInfo[], extendedConfigCache?: Map<string, ExtendedConfigCacheEntry>, existingWatchOptions?: WatchOptions): ParsedCommandLine;\n function convertCompilerOptionsFromJson(jsonOptions: any, basePath: string, configFileName?: string): {\n options: CompilerOptions;\n errors: Diagnostic[];\n };\n function convertTypeAcquisitionFromJson(jsonOptions: any, basePath: string, configFileName?: string): {\n options: TypeAcquisition;\n errors: Diagnostic[];\n };\n /** Parsed command line for build */\n interface ParsedBuildCommand {\n buildOptions: BuildOptions;\n watchOptions: WatchOptions | undefined;\n projects: string[];\n errors: Diagnostic[];\n }\n type DiagnosticReporter = (diagnostic: Diagnostic) => void;\n /**\n * Reports config file diagnostics\n */\n interface ConfigFileDiagnosticsReporter {\n /**\n * Reports unrecoverable error when parsing config file\n */\n onUnRecoverableConfigFileDiagnostic: DiagnosticReporter;\n }\n /**\n * Interface extending ParseConfigHost to support ParseConfigFile that reads config file and reports errors\n */\n interface ParseConfigFileHost extends ParseConfigHost, ConfigFileDiagnosticsReporter {\n getCurrentDirectory(): string;\n }\n interface ParsedTsconfig {\n raw: any;\n options?: CompilerOptions;\n watchOptions?: WatchOptions;\n typeAcquisition?: TypeAcquisition;\n /**\n * Note that the case of the config path has not yet been normalized, as no files have been imported into the project yet\n */\n extendedConfigPath?: string | string[];\n }\n interface ExtendedConfigCacheEntry {\n extendedResult: TsConfigSourceFile;\n extendedConfig: ParsedTsconfig | undefined;\n }\n function getEffectiveTypeRoots(options: CompilerOptions, host: GetEffectiveTypeRootsHost): string[] | undefined;\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via 'types' parameter. In this case initial path for secondary lookups\n * is assumed to be the same as root directory of the project.\n */\n function resolveTypeReferenceDirective(typeReferenceDirectiveName: string, containingFile: string | undefined, options: CompilerOptions, host: ModuleResolutionHost, redirectedReference?: ResolvedProjectReference, cache?: TypeReferenceDirectiveResolutionCache, resolutionMode?: ResolutionMode): ResolvedTypeReferenceDirectiveWithFailedLookupLocations;\n /**\n * Given a set of options, returns the set of type directive names\n * that should be included for this program automatically.\n * This list could either come from the config file,\n * or from enumerating the types root + initial secondary types lookup location.\n * More type directives might appear in the program later as a result of loading actual source files;\n * this list is only the set of defaults that are implicitly included.\n */\n function getAutomaticTypeDirectiveNames(options: CompilerOptions, host: ModuleResolutionHost): string[];\n function createModuleResolutionCache(currentDirectory: string, getCanonicalFileName: (s: string) => string, options?: CompilerOptions, packageJsonInfoCache?: PackageJsonInfoCache): ModuleResolutionCache;\n function createTypeReferenceDirectiveResolutionCache(currentDirectory: string, getCanonicalFileName: (s: string) => string, options?: CompilerOptions, packageJsonInfoCache?: PackageJsonInfoCache): TypeReferenceDirectiveResolutionCache;\n function resolveModuleNameFromCache(moduleName: string, containingFile: string, cache: ModuleResolutionCache, mode?: ResolutionMode): ResolvedModuleWithFailedLookupLocations | undefined;\n function resolveModuleName(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference, resolutionMode?: ResolutionMode): ResolvedModuleWithFailedLookupLocations;\n function bundlerModuleNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations;\n function nodeModuleNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations;\n function classicNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: NonRelativeModuleNameResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations;\n interface TypeReferenceDirectiveResolutionCache extends PerDirectoryResolutionCache<ResolvedTypeReferenceDirectiveWithFailedLookupLocations>, NonRelativeNameResolutionCache<ResolvedTypeReferenceDirectiveWithFailedLookupLocations>, PackageJsonInfoCache {\n }\n interface ModeAwareCache<T> {\n get(key: string, mode: ResolutionMode): T | undefined;\n set(key: string, mode: ResolutionMode, value: T): this;\n delete(key: string, mode: ResolutionMode): this;\n has(key: string, mode: ResolutionMode): boolean;\n forEach(cb: (elem: T, key: string, mode: ResolutionMode) => void): void;\n size(): number;\n }\n /**\n * Cached resolutions per containing directory.\n * This assumes that any module id will have the same resolution for sibling files located in the same folder.\n */\n interface PerDirectoryResolutionCache<T> {\n getFromDirectoryCache(name: string, mode: ResolutionMode, directoryName: string, redirectedReference: ResolvedProjectReference | undefined): T | undefined;\n getOrCreateCacheForDirectory(directoryName: string, redirectedReference?: ResolvedProjectReference): ModeAwareCache<T>;\n clear(): void;\n /**\n * Updates with the current compilerOptions the cache will operate with.\n * This updates the redirects map as well if needed so module resolutions are cached if they can across the projects\n */\n update(options: CompilerOptions): void;\n }\n interface NonRelativeNameResolutionCache<T> {\n getFromNonRelativeNameCache(nonRelativeName: string, mode: ResolutionMode, directoryName: string, redirectedReference: ResolvedProjectReference | undefined): T | undefined;\n getOrCreateCacheForNonRelativeName(nonRelativeName: string, mode: ResolutionMode, redirectedReference?: ResolvedProjectReference): PerNonRelativeNameCache<T>;\n clear(): void;\n /**\n * Updates with the current compilerOptions the cache will operate with.\n * This updates the redirects map as well if needed so module resolutions are cached if they can across the projects\n */\n update(options: CompilerOptions): void;\n }\n interface PerNonRelativeNameCache<T> {\n get(directory: string): T | undefined;\n set(directory: string, result: T): void;\n }\n interface ModuleResolutionCache extends PerDirectoryResolutionCache<ResolvedModuleWithFailedLookupLocations>, NonRelativeModuleNameResolutionCache, PackageJsonInfoCache {\n getPackageJsonInfoCache(): PackageJsonInfoCache;\n }\n /**\n * Stored map from non-relative module name to a table: directory -> result of module lookup in this directory\n * We support only non-relative module names because resolution of relative module names is usually more deterministic and thus less expensive.\n */\n interface NonRelativeModuleNameResolutionCache extends NonRelativeNameResolutionCache<ResolvedModuleWithFailedLookupLocations>, PackageJsonInfoCache {\n /** @deprecated Use getOrCreateCacheForNonRelativeName */\n getOrCreateCacheForModuleName(nonRelativeModuleName: string, mode: ResolutionMode, redirectedReference?: ResolvedProjectReference): PerModuleNameCache;\n }\n interface PackageJsonInfoCache {\n clear(): void;\n }\n type PerModuleNameCache = PerNonRelativeNameCache<ResolvedModuleWithFailedLookupLocations>;\n /**\n * Visits a Node using the supplied visitor, possibly returning a new Node in its place.\n *\n * - If the input node is undefined, then the output is undefined.\n * - If the visitor returns undefined, then the output is undefined.\n * - If the output node is not undefined, then it will satisfy the test function.\n * - In order to obtain a return type that is more specific than `Node`, a test\n * function _must_ be provided, and that function must be a type predicate.\n *\n * @param node The Node to visit.\n * @param visitor The callback used to visit the Node.\n * @param test A callback to execute to verify the Node is valid.\n * @param lift An optional callback to execute to lift a NodeArray into a valid Node.\n */\n function visitNode<TIn extends Node | undefined, TVisited extends Node | undefined, TOut extends Node>(node: TIn, visitor: Visitor<NonNullable<TIn>, TVisited>, test: (node: Node) => node is TOut, lift?: (node: readonly Node[]) => Node): TOut | (TIn & undefined) | (TVisited & undefined);\n /**\n * Visits a Node using the supplied visitor, possibly returning a new Node in its place.\n *\n * - If the input node is undefined, then the output is undefined.\n * - If the visitor returns undefined, then the output is undefined.\n * - If the output node is not undefined, then it will satisfy the test function.\n * - In order to obtain a return type that is more specific than `Node`, a test\n * function _must_ be provided, and that function must be a type predicate.\n *\n * @param node The Node to visit.\n * @param visitor The callback used to visit the Node.\n * @param test A callback to execute to verify the Node is valid.\n * @param lift An optional callback to execute to lift a NodeArray into a valid Node.\n */\n function visitNode<TIn extends Node | undefined, TVisited extends Node | undefined>(node: TIn, visitor: Visitor<NonNullable<TIn>, TVisited>, test?: (node: Node) => boolean, lift?: (node: readonly Node[]) => Node): Node | (TIn & undefined) | (TVisited & undefined);\n /**\n * Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place.\n *\n * - If the input node array is undefined, the output is undefined.\n * - If the visitor can return undefined, the node it visits in the array will be reused.\n * - If the output node array is not undefined, then its contents will satisfy the test.\n * - In order to obtain a return type that is more specific than `NodeArray<Node>`, a test\n * function _must_ be provided, and that function must be a type predicate.\n *\n * @param nodes The NodeArray to visit.\n * @param visitor The callback used to visit a Node.\n * @param test A node test to execute for each node.\n * @param start An optional value indicating the starting offset at which to start visiting.\n * @param count An optional value indicating the maximum number of nodes to visit.\n */\n function visitNodes<TIn extends Node, TInArray extends NodeArray<TIn> | undefined, TOut extends Node>(nodes: TInArray, visitor: Visitor<TIn, Node | undefined>, test: (node: Node) => node is TOut, start?: number, count?: number): NodeArray<TOut> | (TInArray & undefined);\n /**\n * Visits a NodeArray using the supplied visitor, possibly returning a new NodeArray in its place.\n *\n * - If the input node array is undefined, the output is undefined.\n * - If the visitor can return undefined, the node it visits in the array will be reused.\n * - If the output node array is not undefined, then its contents will satisfy the test.\n * - In order to obtain a return type that is more specific than `NodeArray<Node>`, a test\n * function _must_ be provided, and that function must be a type predicate.\n *\n * @param nodes The NodeArray to visit.\n * @param visitor The callback used to visit a Node.\n * @param test A node test to execute for each node.\n * @param start An optional value indicating the starting offset at which to start visiting.\n * @param count An optional value indicating the maximum number of nodes to visit.\n */\n function visitNodes<TIn extends Node, TInArray extends NodeArray<TIn> | undefined>(nodes: TInArray, visitor: Visitor<TIn, Node | undefined>, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray<Node> | (TInArray & undefined);\n /**\n * Starts a new lexical environment and visits a statement list, ending the lexical environment\n * and merging hoisted declarations upon completion.\n */\n function visitLexicalEnvironment(statements: NodeArray<Statement>, visitor: Visitor, context: TransformationContext, start?: number, ensureUseStrict?: boolean, nodesVisitor?: NodesVisitor): NodeArray<Statement>;\n /**\n * Starts a new lexical environment and visits a parameter list, suspending the lexical\n * environment upon completion.\n */\n function visitParameterList(nodes: NodeArray<ParameterDeclaration>, visitor: Visitor, context: TransformationContext, nodesVisitor?: NodesVisitor): NodeArray<ParameterDeclaration>;\n function visitParameterList(nodes: NodeArray<ParameterDeclaration> | undefined, visitor: Visitor, context: TransformationContext, nodesVisitor?: NodesVisitor): NodeArray<ParameterDeclaration> | undefined;\n /**\n * Resumes a suspended lexical environment and visits a function body, ending the lexical\n * environment and merging hoisted declarations upon completion.\n */\n function visitFunctionBody(node: FunctionBody, visitor: Visitor, context: TransformationContext): FunctionBody;\n /**\n * Resumes a suspended lexical environment and visits a function body, ending the lexical\n * environment and merging hoisted declarations upon completion.\n */\n function visitFunctionBody(node: FunctionBody | undefined, visitor: Visitor, context: TransformationContext): FunctionBody | undefined;\n /**\n * Resumes a suspended lexical environment and visits a concise body, ending the lexical\n * environment and merging hoisted declarations upon completion.\n */\n function visitFunctionBody(node: ConciseBody, visitor: Visitor, context: TransformationContext): ConciseBody;\n /**\n * Visits an iteration body, adding any block-scoped variables required by the transformation.\n */\n function visitIterationBody(body: Statement, visitor: Visitor, context: TransformationContext): Statement;\n /**\n * Visits the elements of a {@link CommaListExpression}.\n * @param visitor The visitor to use when visiting expressions whose result will not be discarded at runtime.\n * @param discardVisitor The visitor to use when visiting expressions whose result will be discarded at runtime. Defaults to {@link visitor}.\n */\n function visitCommaListElements(elements: NodeArray<Expression>, visitor: Visitor, discardVisitor?: Visitor): NodeArray<Expression>;\n /**\n * Visits each child of a Node using the supplied visitor, possibly returning a new Node of the same kind in its place.\n *\n * @param node The Node whose children will be visited.\n * @param visitor The callback used to visit each child.\n * @param context A lexical environment context for the visitor.\n */\n function visitEachChild<T extends Node>(node: T, visitor: Visitor, context: TransformationContext | undefined): T;\n /**\n * Visits each child of a Node using the supplied visitor, possibly returning a new Node of the same kind in its place.\n *\n * @param node The Node whose children will be visited.\n * @param visitor The callback used to visit each child.\n * @param context A lexical environment context for the visitor.\n */\n function visitEachChild<T extends Node>(node: T | undefined, visitor: Visitor, context: TransformationContext | undefined, nodesVisitor?: typeof visitNodes, tokenVisitor?: Visitor): T | undefined;\n function getTsBuildInfoEmitOutputFilePath(options: CompilerOptions): string | undefined;\n function getOutputFileNames(commandLine: ParsedCommandLine, inputFileName: string, ignoreCase: boolean): readonly string[];\n function createPrinter(printerOptions?: PrinterOptions, handlers?: PrintHandlers): Printer;\n enum ProgramUpdateLevel {\n /** Program is updated with same root file names and options */\n Update = 0,\n /** Loads program after updating root file names from the disk */\n RootNamesAndUpdate = 1,\n /**\n * Loads program completely, including:\n * - re-reading contents of config file from disk\n * - calculating root file names for the program\n * - Updating the program\n */\n Full = 2,\n }\n function findConfigFile(searchPath: string, fileExists: (fileName: string) => boolean, configName?: string): string | undefined;\n function resolveTripleslashReference(moduleName: string, containingFile: string): string;\n function createCompilerHost(options: CompilerOptions, setParentNodes?: boolean): CompilerHost;\n function getPreEmitDiagnostics(program: Program, sourceFile?: SourceFile, cancellationToken?: CancellationToken): readonly Diagnostic[];\n function formatDiagnostics(diagnostics: readonly Diagnostic[], host: FormatDiagnosticsHost): string;\n function formatDiagnostic(diagnostic: Diagnostic, host: FormatDiagnosticsHost): string;\n function formatDiagnosticsWithColorAndContext(diagnostics: readonly Diagnostic[], host: FormatDiagnosticsHost): string;\n function flattenDiagnosticMessageText(diag: string | DiagnosticMessageChain | undefined, newLine: string, indent?: number): string;\n /**\n * Calculates the resulting resolution mode for some reference in some file - this is generally the explicitly\n * provided resolution mode in the reference, unless one is not present, in which case it is the mode of the containing file.\n */\n function getModeForFileReference(ref: FileReference | string, containingFileMode: ResolutionMode): ResolutionMode;\n /**\n * Use `program.getModeForResolutionAtIndex`, which retrieves the correct `compilerOptions`, instead of this function whenever possible.\n * Calculates the final resolution mode for an import at some index within a file's `imports` list. This is the resolution mode\n * explicitly provided via import attributes, if present, or the syntax the usage would have if emitted to JavaScript. In\n * `--module node16` or `nodenext`, this may depend on the file's `impliedNodeFormat`. In `--module preserve`, it depends only on the\n * input syntax of the reference. In other `module` modes, when overriding import attributes are not provided, this function returns\n * `undefined`, as the result would have no impact on module resolution, emit, or type checking.\n * @param file File to fetch the resolution mode within\n * @param index Index into the file's complete resolution list to get the resolution of - this is a concatenation of the file's imports and module augmentations\n * @param compilerOptions The compiler options for the program that owns the file. If the file belongs to a referenced project, the compiler options\n * should be the options of the referenced project, not the referencing project.\n */\n function getModeForResolutionAtIndex(file: SourceFile, index: number, compilerOptions: CompilerOptions): ResolutionMode;\n /**\n * Use `program.getModeForUsageLocation`, which retrieves the correct `compilerOptions`, instead of this function whenever possible.\n * Calculates the final resolution mode for a given module reference node. This function only returns a result when module resolution\n * settings allow differing resolution between ESM imports and CJS requires, or when a mode is explicitly provided via import attributes,\n * which cause an `import` or `require` condition to be used during resolution regardless of module resolution settings. In absence of\n * overriding attributes, and in modes that support differing resolution, the result indicates the syntax the usage would emit to JavaScript.\n * Some examples:\n *\n * ```ts\n * // tsc foo.mts --module nodenext\n * import {} from \"mod\";\n * // Result: ESNext - the import emits as ESM due to `impliedNodeFormat` set by .mts file extension\n *\n * // tsc foo.cts --module nodenext\n * import {} from \"mod\";\n * // Result: CommonJS - the import emits as CJS due to `impliedNodeFormat` set by .cts file extension\n *\n * // tsc foo.ts --module preserve --moduleResolution bundler\n * import {} from \"mod\";\n * // Result: ESNext - the import emits as ESM due to `--module preserve` and `--moduleResolution bundler`\n * // supports conditional imports/exports\n *\n * // tsc foo.ts --module preserve --moduleResolution node10\n * import {} from \"mod\";\n * // Result: undefined - the import emits as ESM due to `--module preserve`, but `--moduleResolution node10`\n * // does not support conditional imports/exports\n *\n * // tsc foo.ts --module commonjs --moduleResolution node10\n * import type {} from \"mod\" with { \"resolution-mode\": \"import\" };\n * // Result: ESNext - conditional imports/exports always supported with \"resolution-mode\" attribute\n * ```\n *\n * @param file The file the import or import-like reference is contained within\n * @param usage The module reference string\n * @param compilerOptions The compiler options for the program that owns the file. If the file belongs to a referenced project, the compiler options\n * should be the options of the referenced project, not the referencing project.\n * @returns The final resolution mode of the import\n */\n function getModeForUsageLocation(file: SourceFile, usage: StringLiteralLike, compilerOptions: CompilerOptions): ResolutionMode;\n function getConfigFileParsingDiagnostics(configFileParseResult: ParsedCommandLine): readonly Diagnostic[];\n /**\n * A function for determining if a given file is esm or cjs format, assuming modern node module resolution rules, as configured by the\n * `options` parameter.\n *\n * @param fileName The file name to check the format of (it need not exist on disk)\n * @param [packageJsonInfoCache] A cache for package file lookups - it's best to have a cache when this function is called often\n * @param host The ModuleResolutionHost which can perform the filesystem lookups for package json data\n * @param options The compiler options to perform the analysis under - relevant options are `moduleResolution` and `traceResolution`\n * @returns `undefined` if the path has no relevant implied format, `ModuleKind.ESNext` for esm format, and `ModuleKind.CommonJS` for cjs format\n */\n function getImpliedNodeFormatForFile(fileName: string, packageJsonInfoCache: PackageJsonInfoCache | undefined, host: ModuleResolutionHost, options: CompilerOptions): ResolutionMode;\n /**\n * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions'\n * that represent a compilation unit.\n *\n * Creating a program proceeds from a set of root files, expanding the set of inputs by following imports and\n * triple-slash-reference-path directives transitively. '@types' and triple-slash-reference-types are also pulled in.\n *\n * @param createProgramOptions - The options for creating a program.\n * @returns A 'Program' object.\n */\n function createProgram(createProgramOptions: CreateProgramOptions): Program;\n /**\n * Create a new 'Program' instance. A Program is an immutable collection of 'SourceFile's and a 'CompilerOptions'\n * that represent a compilation unit.\n *\n * Creating a program proceeds from a set of root files, expanding the set of inputs by following imports and\n * triple-slash-reference-path directives transitively. '@types' and triple-slash-reference-types are also pulled in.\n *\n * @param rootNames - A set of root files.\n * @param options - The compiler options which should be used.\n * @param host - The host interacts with the underlying file system.\n * @param oldProgram - Reuses an old program structure.\n * @param configFileParsingDiagnostics - error during config file parsing\n * @returns A 'Program' object.\n */\n function createProgram(rootNames: readonly string[], options: CompilerOptions, host?: CompilerHost, oldProgram?: Program, configFileParsingDiagnostics?: readonly Diagnostic[]): Program;\n /**\n * Returns the target config filename of a project reference.\n * Note: The file might not exist.\n */\n function resolveProjectReferencePath(ref: ProjectReference): ResolvedConfigFileName;\n interface FormatDiagnosticsHost {\n getCurrentDirectory(): string;\n getCanonicalFileName(fileName: string): string;\n getNewLine(): string;\n }\n interface EmitOutput {\n outputFiles: OutputFile[];\n emitSkipped: boolean;\n diagnostics: readonly Diagnostic[];\n }\n interface OutputFile {\n name: string;\n writeByteOrderMark: boolean;\n text: string;\n }\n /**\n * Create the builder to manage semantic diagnostics and cache them\n */\n function createSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: readonly Diagnostic[]): SemanticDiagnosticsBuilderProgram;\n function createSemanticDiagnosticsBuilderProgram(rootNames: readonly string[] | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: SemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: readonly Diagnostic[], projectReferences?: readonly ProjectReference[]): SemanticDiagnosticsBuilderProgram;\n /**\n * Create the builder that can handle the changes in program and iterate through changed files\n * to emit the those files and manage semantic diagnostics cache as well\n */\n function createEmitAndSemanticDiagnosticsBuilderProgram(newProgram: Program, host: BuilderProgramHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: readonly Diagnostic[]): EmitAndSemanticDiagnosticsBuilderProgram;\n function createEmitAndSemanticDiagnosticsBuilderProgram(rootNames: readonly string[] | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: EmitAndSemanticDiagnosticsBuilderProgram, configFileParsingDiagnostics?: readonly Diagnostic[], projectReferences?: readonly ProjectReference[]): EmitAndSemanticDiagnosticsBuilderProgram;\n /**\n * Creates a builder thats just abstraction over program and can be used with watch\n */\n function createAbstractBuilder(newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: readonly Diagnostic[]): BuilderProgram;\n function createAbstractBuilder(rootNames: readonly string[] | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: BuilderProgram, configFileParsingDiagnostics?: readonly Diagnostic[], projectReferences?: readonly ProjectReference[]): BuilderProgram;\n type AffectedFileResult<T> = {\n result: T;\n affected: SourceFile | Program;\n } | undefined;\n interface BuilderProgramHost {\n /**\n * If provided this would be used this hash instead of actual file shape text for detecting changes\n */\n createHash?: (data: string) => string;\n /**\n * When emit or emitNextAffectedFile are called without writeFile,\n * this callback if present would be used to write files\n */\n writeFile?: WriteFileCallback;\n }\n /**\n * Builder to manage the program state changes\n */\n interface BuilderProgram {\n /**\n * Returns current program\n */\n getProgram(): Program;\n /**\n * Get compiler options of the program\n */\n getCompilerOptions(): CompilerOptions;\n /**\n * Get the source file in the program with file name\n */\n getSourceFile(fileName: string): SourceFile | undefined;\n /**\n * Get a list of files in the program\n */\n getSourceFiles(): readonly SourceFile[];\n /**\n * Get the diagnostics for compiler options\n */\n getOptionsDiagnostics(cancellationToken?: CancellationToken): readonly Diagnostic[];\n /**\n * Get the diagnostics that dont belong to any file\n */\n getGlobalDiagnostics(cancellationToken?: CancellationToken): readonly Diagnostic[];\n /**\n * Get the diagnostics from config file parsing\n */\n getConfigFileParsingDiagnostics(): readonly Diagnostic[];\n /**\n * Get the syntax diagnostics, for all source files if source file is not supplied\n */\n getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): readonly Diagnostic[];\n /**\n * Get the declaration diagnostics, for all source files if source file is not supplied\n */\n getDeclarationDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): readonly DiagnosticWithLocation[];\n /**\n * Get all the dependencies of the file\n */\n getAllDependencies(sourceFile: SourceFile): readonly string[];\n /**\n * Gets the semantic diagnostics from the program corresponding to this state of file (if provided) or whole program\n * The semantic diagnostics are cached and managed here\n * Note that it is assumed that when asked about semantic diagnostics through this API,\n * the file has been taken out of affected files so it is safe to use cache or get from program and cache the diagnostics\n * In case of SemanticDiagnosticsBuilderProgram if the source file is not provided,\n * it will iterate through all the affected files, to ensure that cache stays valid and yet provide a way to get all semantic diagnostics\n */\n getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): readonly Diagnostic[];\n /**\n * Emits the JavaScript and declaration files.\n * When targetSource file is specified, emits the files corresponding to that source file,\n * otherwise for the whole program.\n * In case of EmitAndSemanticDiagnosticsBuilderProgram, when targetSourceFile is specified,\n * it is assumed that that file is handled from affected file list. If targetSourceFile is not specified,\n * it will only emit all the affected files instead of whole program\n *\n * The first of writeFile if provided, writeFile of BuilderProgramHost if provided, writeFile of compiler host\n * in that order would be used to write the files\n */\n emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): EmitResult;\n /**\n * Get the current directory of the program\n */\n getCurrentDirectory(): string;\n }\n /**\n * The builder that caches the semantic diagnostics for the program and handles the changed files and affected files\n */\n interface SemanticDiagnosticsBuilderProgram extends BuilderProgram {\n /**\n * Gets the semantic diagnostics from the program for the next affected file and caches it\n * Returns undefined if the iteration is complete\n */\n getSemanticDiagnosticsOfNextAffectedFile(cancellationToken?: CancellationToken, ignoreSourceFile?: (sourceFile: SourceFile) => boolean): AffectedFileResult<readonly Diagnostic[]>;\n }\n /**\n * The builder that can handle the changes in program and iterate through changed file to emit the files\n * The semantic diagnostics are cached per file and managed by clearing for the changed/affected files\n */\n interface EmitAndSemanticDiagnosticsBuilderProgram extends SemanticDiagnosticsBuilderProgram {\n /**\n * Emits the next affected file's emit result (EmitResult and sourceFiles emitted) or returns undefined if iteration is complete\n * The first of writeFile if provided, writeFile of BuilderProgramHost if provided, writeFile of compiler host\n * in that order would be used to write the files\n */\n emitNextAffectedFile(writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): AffectedFileResult<EmitResult>;\n }\n function readBuilderProgram(compilerOptions: CompilerOptions, host: ReadBuildProgramHost): EmitAndSemanticDiagnosticsBuilderProgram | undefined;\n function createIncrementalCompilerHost(options: CompilerOptions, system?: System): CompilerHost;\n function createIncrementalProgram<T extends BuilderProgram = EmitAndSemanticDiagnosticsBuilderProgram>({ rootNames, options, configFileParsingDiagnostics, projectReferences, host, createProgram }: IncrementalProgramOptions<T>): T;\n /**\n * Create the watch compiler host for either configFile or fileNames and its options\n */\n function createWatchCompilerHost<T extends BuilderProgram>(configFileName: string, optionsToExtend: CompilerOptions | undefined, system: System, createProgram?: CreateProgram<T>, reportDiagnostic?: DiagnosticReporter, reportWatchStatus?: WatchStatusReporter, watchOptionsToExtend?: WatchOptions, extraFileExtensions?: readonly FileExtensionInfo[]): WatchCompilerHostOfConfigFile<T>;\n function createWatchCompilerHost<T extends BuilderProgram>(rootFiles: string[], options: CompilerOptions, system: System, createProgram?: CreateProgram<T>, reportDiagnostic?: DiagnosticReporter, reportWatchStatus?: WatchStatusReporter, projectReferences?: readonly ProjectReference[], watchOptions?: WatchOptions): WatchCompilerHostOfFilesAndCompilerOptions<T>;\n /**\n * Creates the watch from the host for root files and compiler options\n */\n function createWatchProgram<T extends BuilderProgram>(host: WatchCompilerHostOfFilesAndCompilerOptions<T>): WatchOfFilesAndCompilerOptions<T>;\n /**\n * Creates the watch from the host for config file\n */\n function createWatchProgram<T extends BuilderProgram>(host: WatchCompilerHostOfConfigFile<T>): WatchOfConfigFile<T>;\n interface ReadBuildProgramHost {\n useCaseSensitiveFileNames(): boolean;\n getCurrentDirectory(): string;\n readFile(fileName: string): string | undefined;\n }\n interface IncrementalProgramOptions<T extends BuilderProgram> {\n rootNames: readonly string[];\n options: CompilerOptions;\n configFileParsingDiagnostics?: readonly Diagnostic[];\n projectReferences?: readonly ProjectReference[];\n host?: CompilerHost;\n createProgram?: CreateProgram<T>;\n }\n type WatchStatusReporter = (diagnostic: Diagnostic, newLine: string, options: CompilerOptions, errorCount?: number) => void;\n /** Create the program with rootNames and options, if they are undefined, oldProgram and new configFile diagnostics create new program */\n type CreateProgram<T extends BuilderProgram> = (rootNames: readonly string[] | undefined, options: CompilerOptions | undefined, host?: CompilerHost, oldProgram?: T, configFileParsingDiagnostics?: readonly Diagnostic[], projectReferences?: readonly ProjectReference[] | undefined) => T;\n /** Host that has watch functionality used in --watch mode */\n interface WatchHost {\n /** If provided, called with Diagnostic message that informs about change in watch status */\n onWatchStatusChange?(diagnostic: Diagnostic, newLine: string, options: CompilerOptions, errorCount?: number): void;\n /** Used to watch changes in source files, missing files needed to update the program or config file */\n watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number, options?: WatchOptions): FileWatcher;\n /** Used to watch resolved module's failed lookup locations, config file specs, type roots where auto type reference directives are added */\n watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean, options?: WatchOptions): FileWatcher;\n /** If provided, will be used to set delayed compilation, so that multiple changes in short span are compiled together */\n setTimeout?(callback: (...args: any[]) => void, ms: number, ...args: any[]): any;\n /** If provided, will be used to reset existing delayed compilation */\n clearTimeout?(timeoutId: any): void;\n preferNonRecursiveWatch?: boolean;\n }\n interface ProgramHost<T extends BuilderProgram> {\n /**\n * Used to create the program when need for program creation or recreation detected\n */\n createProgram: CreateProgram<T>;\n useCaseSensitiveFileNames(): boolean;\n getNewLine(): string;\n getCurrentDirectory(): string;\n getDefaultLibFileName(options: CompilerOptions): string;\n getDefaultLibLocation?(): string;\n createHash?(data: string): string;\n /**\n * Use to check file presence for source files and\n * if resolveModuleNames is not provided (complier is in charge of module resolution) then module files as well\n */\n fileExists(path: string): boolean;\n /**\n * Use to read file text for source files and\n * if resolveModuleNames is not provided (complier is in charge of module resolution) then module files as well\n */\n readFile(path: string, encoding?: string): string | undefined;\n /** If provided, used for module resolution as well as to handle directory structure */\n directoryExists?(path: string): boolean;\n /** If provided, used in resolutions as well as handling directory structure */\n getDirectories?(path: string): string[];\n /** If provided, used to cache and handle directory structure modifications */\n readDirectory?(path: string, extensions?: readonly string[], exclude?: readonly string[], include?: readonly string[], depth?: number): string[];\n /** Symbol links resolution */\n realpath?(path: string): string;\n /** If provided would be used to write log about compilation */\n trace?(s: string): void;\n /** If provided is used to get the environment variable */\n getEnvironmentVariable?(name: string): string | undefined;\n /**\n * @deprecated supply resolveModuleNameLiterals instead for resolution that can handle newer resolution modes like nodenext\n *\n * If provided, used to resolve the module names, otherwise typescript's default module resolution\n */\n resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames: string[] | undefined, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingSourceFile?: SourceFile): (ResolvedModule | undefined)[];\n /**\n * @deprecated supply resolveTypeReferenceDirectiveReferences instead for resolution that can handle newer resolution modes like nodenext\n *\n * If provided, used to resolve type reference directives, otherwise typescript's default resolution\n */\n resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[] | readonly FileReference[], containingFile: string, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingFileMode?: ResolutionMode): (ResolvedTypeReferenceDirective | undefined)[];\n resolveModuleNameLiterals?(moduleLiterals: readonly StringLiteralLike[], containingFile: string, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingSourceFile: SourceFile, reusedNames: readonly StringLiteralLike[] | undefined): readonly ResolvedModuleWithFailedLookupLocations[];\n resolveTypeReferenceDirectiveReferences?<T extends FileReference | string>(typeDirectiveReferences: readonly T[], containingFile: string, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingSourceFile: SourceFile | undefined, reusedNames: readonly T[] | undefined): readonly ResolvedTypeReferenceDirectiveWithFailedLookupLocations[];\n /** If provided along with custom resolveModuleNames or resolveTypeReferenceDirectives, used to determine if unchanged file path needs to re-resolve modules/type reference directives */\n hasInvalidatedResolutions?(filePath: Path): boolean;\n /**\n * Returns the module resolution cache used by a provided `resolveModuleNames` implementation so that any non-name module resolution operations (eg, package.json lookup) can reuse it\n */\n getModuleResolutionCache?(): ModuleResolutionCache | undefined;\n jsDocParsingMode?: JSDocParsingMode;\n }\n interface WatchCompilerHost<T extends BuilderProgram> extends ProgramHost<T>, WatchHost {\n /** Instead of using output d.ts file from project reference, use its source file */\n useSourceOfProjectReferenceRedirect?(): boolean;\n /** If provided, use this method to get parsed command lines for referenced projects */\n getParsedCommandLine?(fileName: string): ParsedCommandLine | undefined;\n /** If provided, callback to invoke after every new program creation */\n afterProgramCreate?(program: T): void;\n }\n /**\n * Host to create watch with root files and options\n */\n interface WatchCompilerHostOfFilesAndCompilerOptions<T extends BuilderProgram> extends WatchCompilerHost<T> {\n /** root files to use to generate program */\n rootFiles: string[];\n /** Compiler options */\n options: CompilerOptions;\n watchOptions?: WatchOptions;\n /** Project References */\n projectReferences?: readonly ProjectReference[];\n }\n /**\n * Host to create watch with config file\n */\n interface WatchCompilerHostOfConfigFile<T extends BuilderProgram> extends WatchCompilerHost<T>, ConfigFileDiagnosticsReporter {\n /** Name of the config file to compile */\n configFileName: string;\n /** Options to extend */\n optionsToExtend?: CompilerOptions;\n watchOptionsToExtend?: WatchOptions;\n extraFileExtensions?: readonly FileExtensionInfo[];\n /**\n * Used to generate source file names from the config file and its include, exclude, files rules\n * and also to cache the directory stucture\n */\n readDirectory(path: string, extensions?: readonly string[], exclude?: readonly string[], include?: readonly string[], depth?: number): string[];\n }\n interface Watch<T> {\n /** Synchronize with host and get updated program */\n getProgram(): T;\n /** Closes the watch */\n close(): void;\n }\n /**\n * Creates the watch what generates program using the config file\n */\n interface WatchOfConfigFile<T> extends Watch<T> {\n }\n /**\n * Creates the watch that generates program using the root files and compiler options\n */\n interface WatchOfFilesAndCompilerOptions<T> extends Watch<T> {\n /** Updates the root files in the program, only if this is not config file compilation */\n updateRootFileNames(fileNames: string[]): void;\n }\n /**\n * Create a function that reports watch status by writing to the system and handles the formating of the diagnostic\n */\n function createBuilderStatusReporter(system: System, pretty?: boolean): DiagnosticReporter;\n function createSolutionBuilderHost<T extends BuilderProgram = EmitAndSemanticDiagnosticsBuilderProgram>(system?: System, createProgram?: CreateProgram<T>, reportDiagnostic?: DiagnosticReporter, reportSolutionBuilderStatus?: DiagnosticReporter, reportErrorSummary?: ReportEmitErrorSummary): SolutionBuilderHost<T>;\n function createSolutionBuilderWithWatchHost<T extends BuilderProgram = EmitAndSemanticDiagnosticsBuilderProgram>(system?: System, createProgram?: CreateProgram<T>, reportDiagnostic?: DiagnosticReporter, reportSolutionBuilderStatus?: DiagnosticReporter, reportWatchStatus?: WatchStatusReporter): SolutionBuilderWithWatchHost<T>;\n function createSolutionBuilder<T extends BuilderProgram>(host: SolutionBuilderHost<T>, rootNames: readonly string[], defaultOptions: BuildOptions): SolutionBuilder<T>;\n function createSolutionBuilderWithWatch<T extends BuilderProgram>(host: SolutionBuilderWithWatchHost<T>, rootNames: readonly string[], defaultOptions: BuildOptions, baseWatchOptions?: WatchOptions): SolutionBuilder<T>;\n interface BuildOptions {\n dry?: boolean;\n force?: boolean;\n verbose?: boolean;\n stopBuildOnErrors?: boolean;\n incremental?: boolean;\n assumeChangesOnlyAffectDirectDependencies?: boolean;\n declaration?: boolean;\n declarationMap?: boolean;\n emitDeclarationOnly?: boolean;\n sourceMap?: boolean;\n inlineSourceMap?: boolean;\n traceResolution?: boolean;\n [option: string]: CompilerOptionsValue | undefined;\n }\n type ReportEmitErrorSummary = (errorCount: number, filesInError: (ReportFileInError | undefined)[]) => void;\n interface ReportFileInError {\n fileName: string;\n line: number;\n }\n interface SolutionBuilderHostBase<T extends BuilderProgram> extends ProgramHost<T> {\n createDirectory?(path: string): void;\n /**\n * Should provide create directory and writeFile if done of invalidatedProjects is not invoked with\n * writeFileCallback\n */\n writeFile?(path: string, data: string, writeByteOrderMark?: boolean): void;\n getCustomTransformers?: (project: string) => CustomTransformers | undefined;\n getModifiedTime(fileName: string): Date | undefined;\n setModifiedTime(fileName: string, date: Date): void;\n deleteFile(fileName: string): void;\n getParsedCommandLine?(fileName: string): ParsedCommandLine | undefined;\n reportDiagnostic: DiagnosticReporter;\n reportSolutionBuilderStatus: DiagnosticReporter;\n afterProgramEmitAndDiagnostics?(program: T): void;\n }\n interface SolutionBuilderHost<T extends BuilderProgram> extends SolutionBuilderHostBase<T> {\n reportErrorSummary?: ReportEmitErrorSummary;\n }\n interface SolutionBuilderWithWatchHost<T extends BuilderProgram> extends SolutionBuilderHostBase<T>, WatchHost {\n }\n interface SolutionBuilder<T extends BuilderProgram> {\n build(project?: string, cancellationToken?: CancellationToken, writeFile?: WriteFileCallback, getCustomTransformers?: (project: string) => CustomTransformers): ExitStatus;\n clean(project?: string): ExitStatus;\n buildReferences(project: string, cancellationToken?: CancellationToken, writeFile?: WriteFileCallback, getCustomTransformers?: (project: string) => CustomTransformers): ExitStatus;\n cleanReferences(project?: string): ExitStatus;\n getNextInvalidatedProject(cancellationToken?: CancellationToken): InvalidatedProject<T> | undefined;\n }\n enum InvalidatedProjectKind {\n Build = 0,\n UpdateOutputFileStamps = 1,\n }\n interface InvalidatedProjectBase {\n readonly kind: InvalidatedProjectKind;\n readonly project: ResolvedConfigFileName;\n /**\n * To dispose this project and ensure that all the necessary actions are taken and state is updated accordingly\n */\n done(cancellationToken?: CancellationToken, writeFile?: WriteFileCallback, customTransformers?: CustomTransformers): ExitStatus;\n getCompilerOptions(): CompilerOptions;\n getCurrentDirectory(): string;\n }\n interface UpdateOutputFileStampsProject extends InvalidatedProjectBase {\n readonly kind: InvalidatedProjectKind.UpdateOutputFileStamps;\n updateOutputFileStatmps(): void;\n }\n interface BuildInvalidedProject<T extends BuilderProgram> extends InvalidatedProjectBase {\n readonly kind: InvalidatedProjectKind.Build;\n getBuilderProgram(): T | undefined;\n getProgram(): Program | undefined;\n getSourceFile(fileName: string): SourceFile | undefined;\n getSourceFiles(): readonly SourceFile[];\n getOptionsDiagnostics(cancellationToken?: CancellationToken): readonly Diagnostic[];\n getGlobalDiagnostics(cancellationToken?: CancellationToken): readonly Diagnostic[];\n getConfigFileParsingDiagnostics(): readonly Diagnostic[];\n getSyntacticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): readonly Diagnostic[];\n getAllDependencies(sourceFile: SourceFile): readonly string[];\n getSemanticDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): readonly Diagnostic[];\n getSemanticDiagnosticsOfNextAffectedFile(cancellationToken?: CancellationToken, ignoreSourceFile?: (sourceFile: SourceFile) => boolean): AffectedFileResult<readonly Diagnostic[]>;\n emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback, cancellationToken?: CancellationToken, emitOnlyDtsFiles?: boolean, customTransformers?: CustomTransformers): EmitResult | undefined;\n }\n type InvalidatedProject<T extends BuilderProgram> = UpdateOutputFileStampsProject | BuildInvalidedProject<T>;\n /** Returns true if commandline is --build and needs to be parsed useing parseBuildCommand */\n function isBuildCommand(commandLineArgs: readonly string[]): boolean;\n function getDefaultFormatCodeSettings(newLineCharacter?: string): FormatCodeSettings;\n /**\n * Represents an immutable snapshot of a script at a specified time.Once acquired, the\n * snapshot is observably immutable. i.e. the same calls with the same parameters will return\n * the same values.\n */\n interface IScriptSnapshot {\n /** Gets a portion of the script snapshot specified by [start, end). */\n getText(start: number, end: number): string;\n /** Gets the length of this script snapshot. */\n getLength(): number;\n /**\n * Gets the TextChangeRange that describe how the text changed between this text and\n * an older version. This information is used by the incremental parser to determine\n * what sections of the script need to be re-parsed. 'undefined' can be returned if the\n * change range cannot be determined. However, in that case, incremental parsing will\n * not happen and the entire document will be re - parsed.\n */\n getChangeRange(oldSnapshot: IScriptSnapshot): TextChangeRange | undefined;\n /** Releases all resources held by this script snapshot */\n dispose?(): void;\n }\n namespace ScriptSnapshot {\n function fromString(text: string): IScriptSnapshot;\n }\n interface PreProcessedFileInfo {\n referencedFiles: FileReference[];\n typeReferenceDirectives: FileReference[];\n libReferenceDirectives: FileReference[];\n importedFiles: FileReference[];\n ambientExternalModules?: string[];\n isLibFile: boolean;\n }\n interface HostCancellationToken {\n isCancellationRequested(): boolean;\n }\n interface InstallPackageOptions {\n fileName: Path;\n packageName: string;\n }\n interface PerformanceEvent {\n kind: \"UpdateGraph\" | \"CreatePackageJsonAutoImportProvider\";\n durationMs: number;\n }\n enum LanguageServiceMode {\n Semantic = 0,\n PartialSemantic = 1,\n Syntactic = 2,\n }\n interface IncompleteCompletionsCache {\n get(): CompletionInfo | undefined;\n set(response: CompletionInfo): void;\n clear(): void;\n }\n interface LanguageServiceHost extends GetEffectiveTypeRootsHost, MinimalResolutionCacheHost {\n getCompilationSettings(): CompilerOptions;\n getNewLine?(): string;\n getProjectVersion?(): string;\n getScriptFileNames(): string[];\n getScriptKind?(fileName: string): ScriptKind;\n getScriptVersion(fileName: string): string;\n getScriptSnapshot(fileName: string): IScriptSnapshot | undefined;\n getProjectReferences?(): readonly ProjectReference[] | undefined;\n getLocalizedDiagnosticMessages?(): any;\n getCancellationToken?(): HostCancellationToken;\n getCurrentDirectory(): string;\n getDefaultLibFileName(options: CompilerOptions): string;\n log?(s: string): void;\n trace?(s: string): void;\n error?(s: string): void;\n useCaseSensitiveFileNames?(): boolean;\n readDirectory?(path: string, extensions?: readonly string[], exclude?: readonly string[], include?: readonly string[], depth?: number): string[];\n realpath?(path: string): string;\n readFile(path: string, encoding?: string): string | undefined;\n fileExists(path: string): boolean;\n getTypeRootsVersion?(): number;\n /** @deprecated supply resolveModuleNameLiterals instead for resolution that can handle newer resolution modes like nodenext */\n resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames: string[] | undefined, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingSourceFile?: SourceFile): (ResolvedModule | undefined)[];\n getResolvedModuleWithFailedLookupLocationsFromCache?(modulename: string, containingFile: string, resolutionMode?: ResolutionMode): ResolvedModuleWithFailedLookupLocations | undefined;\n /** @deprecated supply resolveTypeReferenceDirectiveReferences instead for resolution that can handle newer resolution modes like nodenext */\n resolveTypeReferenceDirectives?(typeDirectiveNames: string[] | FileReference[], containingFile: string, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingFileMode?: ResolutionMode): (ResolvedTypeReferenceDirective | undefined)[];\n resolveModuleNameLiterals?(moduleLiterals: readonly StringLiteralLike[], containingFile: string, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingSourceFile: SourceFile, reusedNames: readonly StringLiteralLike[] | undefined): readonly ResolvedModuleWithFailedLookupLocations[];\n resolveTypeReferenceDirectiveReferences?<T extends FileReference | string>(typeDirectiveReferences: readonly T[], containingFile: string, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingSourceFile: SourceFile | undefined, reusedNames: readonly T[] | undefined): readonly ResolvedTypeReferenceDirectiveWithFailedLookupLocations[];\n getDirectories?(directoryName: string): string[];\n /**\n * Gets a set of custom transformers to use during emit.\n */\n getCustomTransformers?(): CustomTransformers | undefined;\n isKnownTypesPackageName?(name: string): boolean;\n installPackage?(options: InstallPackageOptions): Promise<ApplyCodeActionCommandResult>;\n writeFile?(fileName: string, content: string): void;\n getParsedCommandLine?(fileName: string): ParsedCommandLine | undefined;\n jsDocParsingMode?: JSDocParsingMode | undefined;\n }\n type WithMetadata<T> = T & {\n metadata?: unknown;\n };\n enum SemanticClassificationFormat {\n Original = \"original\",\n TwentyTwenty = \"2020\",\n }\n interface LanguageService {\n /** This is used as a part of restarting the language service. */\n cleanupSemanticCache(): void;\n /**\n * Gets errors indicating invalid syntax in a file.\n *\n * In English, \"this cdeo have, erorrs\" is syntactically invalid because it has typos,\n * grammatical errors, and misplaced punctuation. Likewise, examples of syntax\n * errors in TypeScript are missing parentheses in an `if` statement, mismatched\n * curly braces, and using a reserved keyword as a variable name.\n *\n * These diagnostics are inexpensive to compute and don't require knowledge of\n * other files. Note that a non-empty result increases the likelihood of false positives\n * from `getSemanticDiagnostics`.\n *\n * While these represent the majority of syntax-related diagnostics, there are some\n * that require the type system, which will be present in `getSemanticDiagnostics`.\n *\n * @param fileName A path to the file you want syntactic diagnostics for\n */\n getSyntacticDiagnostics(fileName: string): DiagnosticWithLocation[];\n /**\n * Gets warnings or errors indicating type system issues in a given file.\n * Requesting semantic diagnostics may start up the type system and\n * run deferred work, so the first call may take longer than subsequent calls.\n *\n * Unlike the other get*Diagnostics functions, these diagnostics can potentially not\n * include a reference to a source file. Specifically, the first time this is called,\n * it will return global diagnostics with no associated location.\n *\n * To contrast the differences between semantic and syntactic diagnostics, consider the\n * sentence: \"The sun is green.\" is syntactically correct; those are real English words with\n * correct sentence structure. However, it is semantically invalid, because it is not true.\n *\n * @param fileName A path to the file you want semantic diagnostics for\n */\n getSemanticDiagnostics(fileName: string): Diagnostic[];\n /**\n * Gets suggestion diagnostics for a specific file. These diagnostics tend to\n * proactively suggest refactors, as opposed to diagnostics that indicate\n * potentially incorrect runtime behavior.\n *\n * @param fileName A path to the file you want semantic diagnostics for\n */\n getSuggestionDiagnostics(fileName: string): DiagnosticWithLocation[];\n /**\n * Gets global diagnostics related to the program configuration and compiler options.\n */\n getCompilerOptionsDiagnostics(): Diagnostic[];\n /** @deprecated Use getEncodedSyntacticClassifications instead. */\n getSyntacticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[];\n getSyntacticClassifications(fileName: string, span: TextSpan, format: SemanticClassificationFormat): ClassifiedSpan[] | ClassifiedSpan2020[];\n /** @deprecated Use getEncodedSemanticClassifications instead. */\n getSemanticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[];\n getSemanticClassifications(fileName: string, span: TextSpan, format: SemanticClassificationFormat): ClassifiedSpan[] | ClassifiedSpan2020[];\n /** Encoded as triples of [start, length, ClassificationType]. */\n getEncodedSyntacticClassifications(fileName: string, span: TextSpan): Classifications;\n /**\n * Gets semantic highlights information for a particular file. Has two formats, an older\n * version used by VS and a format used by VS Code.\n *\n * @param fileName The path to the file\n * @param position A text span to return results within\n * @param format Which format to use, defaults to \"original\"\n * @returns a number array encoded as triples of [start, length, ClassificationType, ...].\n */\n getEncodedSemanticClassifications(fileName: string, span: TextSpan, format?: SemanticClassificationFormat): Classifications;\n /**\n * Gets completion entries at a particular position in a file.\n *\n * @param fileName The path to the file\n * @param position A zero-based index of the character where you want the entries\n * @param options An object describing how the request was triggered and what kinds\n * of code actions can be returned with the completions.\n * @param formattingSettings settings needed for calling formatting functions.\n */\n getCompletionsAtPosition(fileName: string, position: number, options: GetCompletionsAtPositionOptions | undefined, formattingSettings?: FormatCodeSettings): WithMetadata<CompletionInfo> | undefined;\n /**\n * Gets the extended details for a completion entry retrieved from `getCompletionsAtPosition`.\n *\n * @param fileName The path to the file\n * @param position A zero based index of the character where you want the entries\n * @param entryName The `name` from an existing completion which came from `getCompletionsAtPosition`\n * @param formatOptions How should code samples in the completions be formatted, can be undefined for backwards compatibility\n * @param source `source` property from the completion entry\n * @param preferences User settings, can be undefined for backwards compatibility\n * @param data `data` property from the completion entry\n */\n getCompletionEntryDetails(fileName: string, position: number, entryName: string, formatOptions: FormatCodeOptions | FormatCodeSettings | undefined, source: string | undefined, preferences: UserPreferences | undefined, data: CompletionEntryData | undefined): CompletionEntryDetails | undefined;\n getCompletionEntrySymbol(fileName: string, position: number, name: string, source: string | undefined): Symbol | undefined;\n /**\n * Gets semantic information about the identifier at a particular position in a\n * file. Quick info is what you typically see when you hover in an editor.\n *\n * @param fileName The path to the file\n * @param position A zero-based index of the character where you want the quick info\n */\n getQuickInfoAtPosition(fileName: string, position: number): QuickInfo | undefined;\n getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): TextSpan | undefined;\n getBreakpointStatementAtPosition(fileName: string, position: number): TextSpan | undefined;\n getSignatureHelpItems(fileName: string, position: number, options: SignatureHelpItemsOptions | undefined): SignatureHelpItems | undefined;\n getRenameInfo(fileName: string, position: number, preferences: UserPreferences): RenameInfo;\n /** @deprecated Use the signature with `UserPreferences` instead. */\n getRenameInfo(fileName: string, position: number, options?: RenameInfoOptions): RenameInfo;\n findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean, preferences: UserPreferences): readonly RenameLocation[] | undefined;\n /** @deprecated Pass `providePrefixAndSuffixTextForRename` as part of a `UserPreferences` parameter. */\n findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename?: boolean): readonly RenameLocation[] | undefined;\n getSmartSelectionRange(fileName: string, position: number): SelectionRange;\n getDefinitionAtPosition(fileName: string, position: number): readonly DefinitionInfo[] | undefined;\n getDefinitionAndBoundSpan(fileName: string, position: number): DefinitionInfoAndBoundSpan | undefined;\n getTypeDefinitionAtPosition(fileName: string, position: number): readonly DefinitionInfo[] | undefined;\n getImplementationAtPosition(fileName: string, position: number): readonly ImplementationLocation[] | undefined;\n getReferencesAtPosition(fileName: string, position: number): ReferenceEntry[] | undefined;\n findReferences(fileName: string, position: number): ReferencedSymbol[] | undefined;\n getDocumentHighlights(fileName: string, position: number, filesToSearch: string[]): DocumentHighlights[] | undefined;\n getFileReferences(fileName: string): ReferenceEntry[];\n getNavigateToItems(searchValue: string, maxResultCount?: number, fileName?: string, excludeDtsFiles?: boolean, excludeLibFiles?: boolean): NavigateToItem[];\n getNavigationBarItems(fileName: string): NavigationBarItem[];\n getNavigationTree(fileName: string): NavigationTree;\n prepareCallHierarchy(fileName: string, position: number): CallHierarchyItem | CallHierarchyItem[] | undefined;\n provideCallHierarchyIncomingCalls(fileName: string, position: number): CallHierarchyIncomingCall[];\n provideCallHierarchyOutgoingCalls(fileName: string, position: number): CallHierarchyOutgoingCall[];\n provideInlayHints(fileName: string, span: TextSpan, preferences: UserPreferences | undefined): InlayHint[];\n getOutliningSpans(fileName: string): OutliningSpan[];\n getTodoComments(fileName: string, descriptors: TodoCommentDescriptor[]): TodoComment[];\n getBraceMatchingAtPosition(fileName: string, position: number): TextSpan[];\n getIndentationAtPosition(fileName: string, position: number, options: EditorOptions | EditorSettings): number;\n getFormattingEditsForRange(fileName: string, start: number, end: number, options: FormatCodeOptions | FormatCodeSettings): TextChange[];\n getFormattingEditsForDocument(fileName: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[];\n getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[];\n getDocCommentTemplateAtPosition(fileName: string, position: number, options?: DocCommentTemplateOptions, formatOptions?: FormatCodeSettings): TextInsertion | undefined;\n isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean;\n /**\n * This will return a defined result if the position is after the `>` of the opening tag, or somewhere in the text, of a JSXElement with no closing tag.\n * Editors should call this after `>` is typed.\n */\n getJsxClosingTagAtPosition(fileName: string, position: number): JsxClosingTagInfo | undefined;\n getLinkedEditingRangeAtPosition(fileName: string, position: number): LinkedEditingInfo | undefined;\n getSpanOfEnclosingComment(fileName: string, position: number, onlyMultiLine: boolean): TextSpan | undefined;\n toLineColumnOffset?(fileName: string, position: number): LineAndCharacter;\n getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: readonly number[], formatOptions: FormatCodeSettings, preferences: UserPreferences): readonly CodeFixAction[];\n getCombinedCodeFix(scope: CombinedCodeFixScope, fixId: {}, formatOptions: FormatCodeSettings, preferences: UserPreferences): CombinedCodeActions;\n applyCodeActionCommand(action: CodeActionCommand, formatSettings?: FormatCodeSettings): Promise<ApplyCodeActionCommandResult>;\n applyCodeActionCommand(action: CodeActionCommand[], formatSettings?: FormatCodeSettings): Promise<ApplyCodeActionCommandResult[]>;\n applyCodeActionCommand(action: CodeActionCommand | CodeActionCommand[], formatSettings?: FormatCodeSettings): Promise<ApplyCodeActionCommandResult | ApplyCodeActionCommandResult[]>;\n /** @deprecated `fileName` will be ignored */\n applyCodeActionCommand(fileName: string, action: CodeActionCommand): Promise<ApplyCodeActionCommandResult>;\n /** @deprecated `fileName` will be ignored */\n applyCodeActionCommand(fileName: string, action: CodeActionCommand[]): Promise<ApplyCodeActionCommandResult[]>;\n /** @deprecated `fileName` will be ignored */\n applyCodeActionCommand(fileName: string, action: CodeActionCommand | CodeActionCommand[]): Promise<ApplyCodeActionCommandResult | ApplyCodeActionCommandResult[]>;\n /**\n * @param includeInteractiveActions Include refactor actions that require additional arguments to be\n * passed when calling `getEditsForRefactor`. When true, clients should inspect the `isInteractive`\n * property of each returned `RefactorActionInfo` and ensure they are able to collect the appropriate\n * arguments for any interactive action before offering it.\n */\n getApplicableRefactors(fileName: string, positionOrRange: number | TextRange, preferences: UserPreferences | undefined, triggerReason?: RefactorTriggerReason, kind?: string, includeInteractiveActions?: boolean): ApplicableRefactorInfo[];\n getEditsForRefactor(fileName: string, formatOptions: FormatCodeSettings, positionOrRange: number | TextRange, refactorName: string, actionName: string, preferences: UserPreferences | undefined, interactiveRefactorArguments?: InteractiveRefactorArguments): RefactorEditInfo | undefined;\n getMoveToRefactoringFileSuggestions(fileName: string, positionOrRange: number | TextRange, preferences: UserPreferences | undefined, triggerReason?: RefactorTriggerReason, kind?: string): {\n newFileName: string;\n files: string[];\n };\n organizeImports(args: OrganizeImportsArgs, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): readonly FileTextChanges[];\n getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): readonly FileTextChanges[];\n getEmitOutput(fileName: string, emitOnlyDtsFiles?: boolean, forceDtsEmit?: boolean): EmitOutput;\n getProgram(): Program | undefined;\n toggleLineComment(fileName: string, textRange: TextRange): TextChange[];\n toggleMultilineComment(fileName: string, textRange: TextRange): TextChange[];\n commentSelection(fileName: string, textRange: TextRange): TextChange[];\n uncommentSelection(fileName: string, textRange: TextRange): TextChange[];\n getSupportedCodeFixes(fileName?: string): readonly string[];\n dispose(): void;\n preparePasteEditsForFile(fileName: string, copiedTextRanges: TextRange[]): boolean;\n getPasteEdits(args: PasteEditsArgs, formatOptions: FormatCodeSettings): PasteEdits;\n }\n interface JsxClosingTagInfo {\n readonly newText: string;\n }\n interface LinkedEditingInfo {\n readonly ranges: TextSpan[];\n wordPattern?: string;\n }\n interface CombinedCodeFixScope {\n type: \"file\";\n fileName: string;\n }\n enum OrganizeImportsMode {\n All = \"All\",\n SortAndCombine = \"SortAndCombine\",\n RemoveUnused = \"RemoveUnused\",\n }\n interface PasteEdits {\n edits: readonly FileTextChanges[];\n fixId?: {};\n }\n interface PasteEditsArgs {\n targetFile: string;\n pastedText: string[];\n pasteLocations: TextRange[];\n copiedFrom: {\n file: string;\n range: TextRange[];\n } | undefined;\n preferences: UserPreferences;\n }\n interface OrganizeImportsArgs extends CombinedCodeFixScope {\n /** @deprecated Use `mode` instead */\n skipDestructiveCodeActions?: boolean;\n mode?: OrganizeImportsMode;\n }\n type CompletionsTriggerCharacter = \".\" | '\"' | \"'\" | \"`\" | \"/\" | \"@\" | \"<\" | \"#\" | \" \";\n enum CompletionTriggerKind {\n /** Completion was triggered by typing an identifier, manual invocation (e.g Ctrl+Space) or via API. */\n Invoked = 1,\n /** Completion was triggered by a trigger character. */\n TriggerCharacter = 2,\n /** Completion was re-triggered as the current completion list is incomplete. */\n TriggerForIncompleteCompletions = 3,\n }\n interface GetCompletionsAtPositionOptions extends UserPreferences {\n /**\n * If the editor is asking for completions because a certain character was typed\n * (as opposed to when the user explicitly requested them) this should be set.\n */\n triggerCharacter?: CompletionsTriggerCharacter;\n triggerKind?: CompletionTriggerKind;\n /**\n * Include a `symbol` property on each completion entry object.\n * Symbols reference cyclic data structures and sometimes an entire TypeChecker instance,\n * so use caution when serializing or retaining completion entries retrieved with this option.\n * @default false\n */\n includeSymbol?: boolean;\n /** @deprecated Use includeCompletionsForModuleExports */\n includeExternalModuleExports?: boolean;\n /** @deprecated Use includeCompletionsWithInsertText */\n includeInsertTextCompletions?: boolean;\n }\n type SignatureHelpTriggerCharacter = \",\" | \"(\" | \"<\";\n type SignatureHelpRetriggerCharacter = SignatureHelpTriggerCharacter | \")\";\n interface SignatureHelpItemsOptions {\n triggerReason?: SignatureHelpTriggerReason;\n }\n type SignatureHelpTriggerReason = SignatureHelpInvokedReason | SignatureHelpCharacterTypedReason | SignatureHelpRetriggeredReason;\n /**\n * Signals that the user manually requested signature help.\n * The language service will unconditionally attempt to provide a result.\n */\n interface SignatureHelpInvokedReason {\n kind: \"invoked\";\n triggerCharacter?: undefined;\n }\n /**\n * Signals that the signature help request came from a user typing a character.\n * Depending on the character and the syntactic context, the request may or may not be served a result.\n */\n interface SignatureHelpCharacterTypedReason {\n kind: \"characterTyped\";\n /**\n * Character that was responsible for triggering signature help.\n */\n triggerCharacter: SignatureHelpTriggerCharacter;\n }\n /**\n * Signals that this signature help request came from typing a character or moving the cursor.\n * This should only occur if a signature help session was already active and the editor needs to see if it should adjust.\n * The language service will unconditionally attempt to provide a result.\n * `triggerCharacter` can be `undefined` for a retrigger caused by a cursor move.\n */\n interface SignatureHelpRetriggeredReason {\n kind: \"retrigger\";\n /**\n * Character that was responsible for triggering signature help.\n */\n triggerCharacter?: SignatureHelpRetriggerCharacter;\n }\n interface ApplyCodeActionCommandResult {\n successMessage: string;\n }\n interface Classifications {\n spans: number[];\n endOfLineState: EndOfLineState;\n }\n interface ClassifiedSpan {\n textSpan: TextSpan;\n classificationType: ClassificationTypeNames;\n }\n interface ClassifiedSpan2020 {\n textSpan: TextSpan;\n classificationType: number;\n }\n /**\n * Navigation bar interface designed for visual studio's dual-column layout.\n * This does not form a proper tree.\n * The navbar is returned as a list of top-level items, each of which has a list of child items.\n * Child items always have an empty array for their `childItems`.\n */\n interface NavigationBarItem {\n text: string;\n kind: ScriptElementKind;\n kindModifiers: string;\n spans: TextSpan[];\n childItems: NavigationBarItem[];\n indent: number;\n bolded: boolean;\n grayed: boolean;\n }\n /**\n * Node in a tree of nested declarations in a file.\n * The top node is always a script or module node.\n */\n interface NavigationTree {\n /** Name of the declaration, or a short description, e.g. \"<class>\". */\n text: string;\n kind: ScriptElementKind;\n /** ScriptElementKindModifier separated by commas, e.g. \"public,abstract\" */\n kindModifiers: string;\n /**\n * Spans of the nodes that generated this declaration.\n * There will be more than one if this is the result of merging.\n */\n spans: TextSpan[];\n nameSpan: TextSpan | undefined;\n /** Present if non-empty */\n childItems?: NavigationTree[];\n }\n interface CallHierarchyItem {\n name: string;\n kind: ScriptElementKind;\n kindModifiers?: string;\n file: string;\n span: TextSpan;\n selectionSpan: TextSpan;\n containerName?: string;\n }\n interface CallHierarchyIncomingCall {\n from: CallHierarchyItem;\n fromSpans: TextSpan[];\n }\n interface CallHierarchyOutgoingCall {\n to: CallHierarchyItem;\n fromSpans: TextSpan[];\n }\n enum InlayHintKind {\n Type = \"Type\",\n Parameter = \"Parameter\",\n Enum = \"Enum\",\n }\n interface InlayHint {\n /** This property will be the empty string when displayParts is set. */\n text: string;\n position: number;\n kind: InlayHintKind;\n whitespaceBefore?: boolean;\n whitespaceAfter?: boolean;\n displayParts?: InlayHintDisplayPart[];\n }\n interface InlayHintDisplayPart {\n text: string;\n span?: TextSpan;\n file?: string;\n }\n interface TodoCommentDescriptor {\n text: string;\n priority: number;\n }\n interface TodoComment {\n descriptor: TodoCommentDescriptor;\n message: string;\n position: number;\n }\n interface TextChange {\n span: TextSpan;\n newText: string;\n }\n interface FileTextChanges {\n fileName: string;\n textChanges: readonly TextChange[];\n isNewFile?: boolean;\n }\n interface CodeAction {\n /** Description of the code action to display in the UI of the editor */\n description: string;\n /** Text changes to apply to each file as part of the code action */\n changes: FileTextChanges[];\n /**\n * If the user accepts the code fix, the editor should send the action back in a `applyAction` request.\n * This allows the language service to have side effects (e.g. installing dependencies) upon a code fix.\n */\n commands?: CodeActionCommand[];\n }\n interface CodeFixAction extends CodeAction {\n /** Short name to identify the fix, for use by telemetry. */\n fixName: string;\n /**\n * If present, one may call 'getCombinedCodeFix' with this fixId.\n * This may be omitted to indicate that the code fix can't be applied in a group.\n */\n fixId?: {};\n fixAllDescription?: string;\n }\n interface CombinedCodeActions {\n changes: readonly FileTextChanges[];\n commands?: readonly CodeActionCommand[];\n }\n type CodeActionCommand = InstallPackageAction;\n interface InstallPackageAction {\n }\n /**\n * A set of one or more available refactoring actions, grouped under a parent refactoring.\n */\n interface ApplicableRefactorInfo {\n /**\n * The programmatic name of the refactoring\n */\n name: string;\n /**\n * A description of this refactoring category to show to the user.\n * If the refactoring gets inlined (see below), this text will not be visible.\n */\n description: string;\n /**\n * Inlineable refactorings can have their actions hoisted out to the top level\n * of a context menu. Non-inlineanable refactorings should always be shown inside\n * their parent grouping.\n *\n * If not specified, this value is assumed to be 'true'\n */\n inlineable?: boolean;\n actions: RefactorActionInfo[];\n }\n /**\n * Represents a single refactoring action - for example, the \"Extract Method...\" refactor might\n * offer several actions, each corresponding to a surround class or closure to extract into.\n */\n interface RefactorActionInfo {\n /**\n * The programmatic name of the refactoring action\n */\n name: string;\n /**\n * A description of this refactoring action to show to the user.\n * If the parent refactoring is inlined away, this will be the only text shown,\n * so this description should make sense by itself if the parent is inlineable=true\n */\n description: string;\n /**\n * A message to show to the user if the refactoring cannot be applied in\n * the current context.\n */\n notApplicableReason?: string;\n /**\n * The hierarchical dotted name of the refactor action.\n */\n kind?: string;\n /**\n * Indicates that the action requires additional arguments to be passed\n * when calling `getEditsForRefactor`.\n */\n isInteractive?: boolean;\n /**\n * Range of code the refactoring will be applied to.\n */\n range?: {\n start: {\n line: number;\n offset: number;\n };\n end: {\n line: number;\n offset: number;\n };\n };\n }\n /**\n * A set of edits to make in response to a refactor action, plus an optional\n * location where renaming should be invoked from\n */\n interface RefactorEditInfo {\n edits: FileTextChanges[];\n renameFilename?: string;\n renameLocation?: number;\n commands?: CodeActionCommand[];\n notApplicableReason?: string;\n }\n type RefactorTriggerReason = \"implicit\" | \"invoked\";\n interface TextInsertion {\n newText: string;\n /** The position in newText the caret should point to after the insertion. */\n caretOffset: number;\n }\n interface DocumentSpan {\n textSpan: TextSpan;\n fileName: string;\n /**\n * If the span represents a location that was remapped (e.g. via a .d.ts.map file),\n * then the original filename and span will be specified here\n */\n originalTextSpan?: TextSpan;\n originalFileName?: string;\n /**\n * If DocumentSpan.textSpan is the span for name of the declaration,\n * then this is the span for relevant declaration\n */\n contextSpan?: TextSpan;\n originalContextSpan?: TextSpan;\n }\n interface RenameLocation extends DocumentSpan {\n readonly prefixText?: string;\n readonly suffixText?: string;\n }\n interface ReferenceEntry extends DocumentSpan {\n isWriteAccess: boolean;\n isInString?: true;\n }\n interface ImplementationLocation extends DocumentSpan {\n kind: ScriptElementKind;\n displayParts: SymbolDisplayPart[];\n }\n enum HighlightSpanKind {\n none = \"none\",\n definition = \"definition\",\n reference = \"reference\",\n writtenReference = \"writtenReference\",\n }\n interface HighlightSpan {\n fileName?: string;\n isInString?: true;\n textSpan: TextSpan;\n contextSpan?: TextSpan;\n kind: HighlightSpanKind;\n }\n interface NavigateToItem {\n name: string;\n kind: ScriptElementKind;\n kindModifiers: string;\n matchKind: \"exact\" | \"prefix\" | \"substring\" | \"camelCase\";\n isCaseSensitive: boolean;\n fileName: string;\n textSpan: TextSpan;\n containerName: string;\n containerKind: ScriptElementKind;\n }\n enum IndentStyle {\n None = 0,\n Block = 1,\n Smart = 2,\n }\n enum SemicolonPreference {\n Ignore = \"ignore\",\n Insert = \"insert\",\n Remove = \"remove\",\n }\n /** @deprecated - consider using EditorSettings instead */\n interface EditorOptions {\n BaseIndentSize?: number;\n IndentSize: number;\n TabSize: number;\n NewLineCharacter: string;\n ConvertTabsToSpaces: boolean;\n IndentStyle: IndentStyle;\n }\n interface EditorSettings {\n baseIndentSize?: number;\n indentSize?: number;\n tabSize?: number;\n newLineCharacter?: string;\n convertTabsToSpaces?: boolean;\n indentStyle?: IndentStyle;\n trimTrailingWhitespace?: boolean;\n }\n /** @deprecated - consider using FormatCodeSettings instead */\n interface FormatCodeOptions extends EditorOptions {\n InsertSpaceAfterCommaDelimiter: boolean;\n InsertSpaceAfterSemicolonInForStatements: boolean;\n InsertSpaceBeforeAndAfterBinaryOperators: boolean;\n InsertSpaceAfterConstructor?: boolean;\n InsertSpaceAfterKeywordsInControlFlowStatements: boolean;\n InsertSpaceAfterFunctionKeywordForAnonymousFunctions: boolean;\n InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: boolean;\n InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: boolean;\n InsertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean;\n InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: boolean;\n InsertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean;\n InsertSpaceAfterTypeAssertion?: boolean;\n InsertSpaceBeforeFunctionParenthesis?: boolean;\n PlaceOpenBraceOnNewLineForFunctions: boolean;\n PlaceOpenBraceOnNewLineForControlBlocks: boolean;\n insertSpaceBeforeTypeAnnotation?: boolean;\n }\n interface FormatCodeSettings extends EditorSettings {\n readonly insertSpaceAfterCommaDelimiter?: boolean;\n readonly insertSpaceAfterSemicolonInForStatements?: boolean;\n readonly insertSpaceBeforeAndAfterBinaryOperators?: boolean;\n readonly insertSpaceAfterConstructor?: boolean;\n readonly insertSpaceAfterKeywordsInControlFlowStatements?: boolean;\n readonly insertSpaceAfterFunctionKeywordForAnonymousFunctions?: boolean;\n readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis?: boolean;\n readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets?: boolean;\n readonly insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces?: boolean;\n readonly insertSpaceAfterOpeningAndBeforeClosingEmptyBraces?: boolean;\n readonly insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces?: boolean;\n readonly insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces?: boolean;\n readonly insertSpaceAfterTypeAssertion?: boolean;\n readonly insertSpaceBeforeFunctionParenthesis?: boolean;\n readonly placeOpenBraceOnNewLineForFunctions?: boolean;\n readonly placeOpenBraceOnNewLineForControlBlocks?: boolean;\n readonly insertSpaceBeforeTypeAnnotation?: boolean;\n readonly indentMultiLineObjectLiteralBeginningOnBlankLine?: boolean;\n readonly semicolons?: SemicolonPreference;\n readonly indentSwitchCase?: boolean;\n }\n interface DefinitionInfo extends DocumentSpan {\n kind: ScriptElementKind;\n name: string;\n containerKind: ScriptElementKind;\n containerName: string;\n unverified?: boolean;\n }\n interface DefinitionInfoAndBoundSpan {\n definitions?: readonly DefinitionInfo[];\n textSpan: TextSpan;\n }\n interface ReferencedSymbolDefinitionInfo extends DefinitionInfo {\n displayParts: SymbolDisplayPart[];\n }\n interface ReferencedSymbol {\n definition: ReferencedSymbolDefinitionInfo;\n references: ReferencedSymbolEntry[];\n }\n interface ReferencedSymbolEntry extends ReferenceEntry {\n isDefinition?: boolean;\n }\n enum SymbolDisplayPartKind {\n aliasName = 0,\n className = 1,\n enumName = 2,\n fieldName = 3,\n interfaceName = 4,\n keyword = 5,\n lineBreak = 6,\n numericLiteral = 7,\n stringLiteral = 8,\n localName = 9,\n methodName = 10,\n moduleName = 11,\n operator = 12,\n parameterName = 13,\n propertyName = 14,\n punctuation = 15,\n space = 16,\n text = 17,\n typeParameterName = 18,\n enumMemberName = 19,\n functionName = 20,\n regularExpressionLiteral = 21,\n link = 22,\n linkName = 23,\n linkText = 24,\n }\n interface SymbolDisplayPart {\n /**\n * Text of an item describing the symbol.\n */\n text: string;\n /**\n * The symbol's kind (such as 'className' or 'parameterName' or plain 'text').\n */\n kind: string;\n }\n interface JSDocLinkDisplayPart extends SymbolDisplayPart {\n target: DocumentSpan;\n }\n interface JSDocTagInfo {\n name: string;\n text?: SymbolDisplayPart[];\n }\n interface QuickInfo {\n kind: ScriptElementKind;\n kindModifiers: string;\n textSpan: TextSpan;\n displayParts?: SymbolDisplayPart[];\n documentation?: SymbolDisplayPart[];\n tags?: JSDocTagInfo[];\n }\n type RenameInfo = RenameInfoSuccess | RenameInfoFailure;\n interface RenameInfoSuccess {\n canRename: true;\n /**\n * File or directory to rename.\n * If set, `getEditsForFileRename` should be called instead of `findRenameLocations`.\n */\n fileToRename?: string;\n displayName: string;\n /**\n * Full display name of item to be renamed.\n * If item to be renamed is a file, then this is the original text of the module specifer\n */\n fullDisplayName: string;\n kind: ScriptElementKind;\n kindModifiers: string;\n triggerSpan: TextSpan;\n }\n interface RenameInfoFailure {\n canRename: false;\n localizedErrorMessage: string;\n }\n /**\n * @deprecated Use `UserPreferences` instead.\n */\n interface RenameInfoOptions {\n readonly allowRenameOfImportPath?: boolean;\n }\n interface DocCommentTemplateOptions {\n readonly generateReturnInDocTemplate?: boolean;\n }\n interface InteractiveRefactorArguments {\n targetFile: string;\n }\n /**\n * Signature help information for a single parameter\n */\n interface SignatureHelpParameter {\n name: string;\n documentation: SymbolDisplayPart[];\n displayParts: SymbolDisplayPart[];\n isOptional: boolean;\n isRest?: boolean;\n }\n interface SelectionRange {\n textSpan: TextSpan;\n parent?: SelectionRange;\n }\n /**\n * Represents a single signature to show in signature help.\n * The id is used for subsequent calls into the language service to ask questions about the\n * signature help item in the context of any documents that have been updated. i.e. after\n * an edit has happened, while signature help is still active, the host can ask important\n * questions like 'what parameter is the user currently contained within?'.\n */\n interface SignatureHelpItem {\n isVariadic: boolean;\n prefixDisplayParts: SymbolDisplayPart[];\n suffixDisplayParts: SymbolDisplayPart[];\n separatorDisplayParts: SymbolDisplayPart[];\n parameters: SignatureHelpParameter[];\n documentation: SymbolDisplayPart[];\n tags: JSDocTagInfo[];\n }\n /**\n * Represents a set of signature help items, and the preferred item that should be selected.\n */\n interface SignatureHelpItems {\n items: SignatureHelpItem[];\n applicableSpan: TextSpan;\n selectedItemIndex: number;\n argumentIndex: number;\n argumentCount: number;\n }\n enum CompletionInfoFlags {\n None = 0,\n MayIncludeAutoImports = 1,\n IsImportStatementCompletion = 2,\n IsContinuation = 4,\n ResolvedModuleSpecifiers = 8,\n ResolvedModuleSpecifiersBeyondLimit = 16,\n MayIncludeMethodSnippets = 32,\n }\n interface CompletionInfo {\n /** For performance telemetry. */\n flags?: CompletionInfoFlags;\n /** Not true for all global completions. This will be true if the enclosing scope matches a few syntax kinds. See `isSnippetScope`. */\n isGlobalCompletion: boolean;\n isMemberCompletion: boolean;\n /**\n * In the absence of `CompletionEntry[\"replacementSpan\"]`, the editor may choose whether to use\n * this span or its default one. If `CompletionEntry[\"replacementSpan\"]` is defined, that span\n * must be used to commit that completion entry.\n */\n optionalReplacementSpan?: TextSpan;\n /**\n * true when the current location also allows for a new identifier\n */\n isNewIdentifierLocation: boolean;\n /**\n * Indicates to client to continue requesting completions on subsequent keystrokes.\n */\n isIncomplete?: true;\n entries: CompletionEntry[];\n /**\n * Default commit characters for the completion entries.\n */\n defaultCommitCharacters?: string[];\n }\n interface CompletionEntryDataAutoImport {\n /**\n * The name of the property or export in the module's symbol table. Differs from the completion name\n * in the case of InternalSymbolName.ExportEquals and InternalSymbolName.Default.\n */\n exportName: string;\n exportMapKey?: ExportMapInfoKey;\n moduleSpecifier?: string;\n /** The file name declaring the export's module symbol, if it was an external module */\n fileName?: string;\n /** The module name (with quotes stripped) of the export's module symbol, if it was an ambient module */\n ambientModuleName?: string;\n /** True if the export was found in the package.json AutoImportProvider */\n isPackageJsonImport?: true;\n }\n interface CompletionEntryDataUnresolved extends CompletionEntryDataAutoImport {\n exportMapKey: ExportMapInfoKey;\n }\n interface CompletionEntryDataResolved extends CompletionEntryDataAutoImport {\n moduleSpecifier: string;\n }\n type CompletionEntryData = CompletionEntryDataUnresolved | CompletionEntryDataResolved;\n interface CompletionEntry {\n name: string;\n kind: ScriptElementKind;\n kindModifiers?: string;\n /**\n * A string that is used for comparing completion items so that they can be ordered. This\n * is often the same as the name but may be different in certain circumstances.\n */\n sortText: string;\n /**\n * Text to insert instead of `name`.\n * This is used to support bracketed completions; If `name` might be \"a-b\" but `insertText` would be `[\"a-b\"]`,\n * coupled with `replacementSpan` to replace a dotted access with a bracket access.\n */\n insertText?: string;\n /**\n * A string that should be used when filtering a set of\n * completion items.\n */\n filterText?: string;\n /**\n * `insertText` should be interpreted as a snippet if true.\n */\n isSnippet?: true;\n /**\n * An optional span that indicates the text to be replaced by this completion item.\n * If present, this span should be used instead of the default one.\n * It will be set if the required span differs from the one generated by the default replacement behavior.\n */\n replacementSpan?: TextSpan;\n /**\n * Indicates whether commiting this completion entry will require additional code actions to be\n * made to avoid errors. The CompletionEntryDetails will have these actions.\n */\n hasAction?: true;\n /**\n * Identifier (not necessarily human-readable) identifying where this completion came from.\n */\n source?: string;\n /**\n * Human-readable description of the `source`.\n */\n sourceDisplay?: SymbolDisplayPart[];\n /**\n * Additional details for the label.\n */\n labelDetails?: CompletionEntryLabelDetails;\n /**\n * If true, this completion should be highlighted as recommended. There will only be one of these.\n * This will be set when we know the user should write an expression with a certain type and that type is an enum or constructable class.\n * Then either that enum/class or a namespace containing it will be the recommended symbol.\n */\n isRecommended?: true;\n /**\n * If true, this completion was generated from traversing the name table of an unchecked JS file,\n * and therefore may not be accurate.\n */\n isFromUncheckedFile?: true;\n /**\n * If true, this completion was for an auto-import of a module not yet in the program, but listed\n * in the project package.json. Used for telemetry reporting.\n */\n isPackageJsonImport?: true;\n /**\n * If true, this completion was an auto-import-style completion of an import statement (i.e., the\n * module specifier was inserted along with the imported identifier). Used for telemetry reporting.\n */\n isImportStatementCompletion?: true;\n /**\n * For API purposes.\n * Included for non-string completions only when `includeSymbol: true` option is passed to `getCompletionsAtPosition`.\n * @example Get declaration of completion: `symbol.valueDeclaration`\n */\n symbol?: Symbol;\n /**\n * A property to be sent back to TS Server in the CompletionDetailsRequest, along with `name`,\n * that allows TS Server to look up the symbol represented by the completion item, disambiguating\n * items with the same name. Currently only defined for auto-import completions, but the type is\n * `unknown` in the protocol, so it can be changed as needed to support other kinds of completions.\n * The presence of this property should generally not be used to assume that this completion entry\n * is an auto-import.\n */\n data?: CompletionEntryData;\n /**\n * If this completion entry is selected, typing a commit character will cause the entry to be accepted.\n */\n commitCharacters?: string[];\n }\n interface CompletionEntryLabelDetails {\n /**\n * An optional string which is rendered less prominently directly after\n * {@link CompletionEntry.name name}, without any spacing. Should be\n * used for function signatures or type annotations.\n */\n detail?: string;\n /**\n * An optional string which is rendered less prominently after\n * {@link CompletionEntryLabelDetails.detail}. Should be used for fully qualified\n * names or file path.\n */\n description?: string;\n }\n interface CompletionEntryDetails {\n name: string;\n kind: ScriptElementKind;\n kindModifiers: string;\n displayParts: SymbolDisplayPart[];\n documentation?: SymbolDisplayPart[];\n tags?: JSDocTagInfo[];\n codeActions?: CodeAction[];\n /** @deprecated Use `sourceDisplay` instead. */\n source?: SymbolDisplayPart[];\n sourceDisplay?: SymbolDisplayPart[];\n }\n interface OutliningSpan {\n /** The span of the document to actually collapse. */\n textSpan: TextSpan;\n /** The span of the document to display when the user hovers over the collapsed span. */\n hintSpan: TextSpan;\n /** The text to display in the editor for the collapsed region. */\n bannerText: string;\n /**\n * Whether or not this region should be automatically collapsed when\n * the 'Collapse to Definitions' command is invoked.\n */\n autoCollapse: boolean;\n /**\n * Classification of the contents of the span\n */\n kind: OutliningSpanKind;\n }\n enum OutliningSpanKind {\n /** Single or multi-line comments */\n Comment = \"comment\",\n /** Sections marked by '// #region' and '// #endregion' comments */\n Region = \"region\",\n /** Declarations and expressions */\n Code = \"code\",\n /** Contiguous blocks of import declarations */\n Imports = \"imports\",\n }\n enum OutputFileType {\n JavaScript = 0,\n SourceMap = 1,\n Declaration = 2,\n }\n enum EndOfLineState {\n None = 0,\n InMultiLineCommentTrivia = 1,\n InSingleQuoteStringLiteral = 2,\n InDoubleQuoteStringLiteral = 3,\n InTemplateHeadOrNoSubstitutionTemplate = 4,\n InTemplateMiddleOrTail = 5,\n InTemplateSubstitutionPosition = 6,\n }\n enum TokenClass {\n Punctuation = 0,\n Keyword = 1,\n Operator = 2,\n Comment = 3,\n Whitespace = 4,\n Identifier = 5,\n NumberLiteral = 6,\n BigIntLiteral = 7,\n StringLiteral = 8,\n RegExpLiteral = 9,\n }\n interface ClassificationResult {\n finalLexState: EndOfLineState;\n entries: ClassificationInfo[];\n }\n interface ClassificationInfo {\n length: number;\n classification: TokenClass;\n }\n interface Classifier {\n /**\n * Gives lexical classifications of tokens on a line without any syntactic context.\n * For instance, a token consisting of the text 'string' can be either an identifier\n * named 'string' or the keyword 'string', however, because this classifier is not aware,\n * it relies on certain heuristics to give acceptable results. For classifications where\n * speed trumps accuracy, this function is preferable; however, for true accuracy, the\n * syntactic classifier is ideal. In fact, in certain editing scenarios, combining the\n * lexical, syntactic, and semantic classifiers may issue the best user experience.\n *\n * @param text The text of a line to classify.\n * @param lexState The state of the lexical classifier at the end of the previous line.\n * @param syntacticClassifierAbsent Whether the client is *not* using a syntactic classifier.\n * If there is no syntactic classifier (syntacticClassifierAbsent=true),\n * certain heuristics may be used in its place; however, if there is a\n * syntactic classifier (syntacticClassifierAbsent=false), certain\n * classifications which may be incorrectly categorized will be given\n * back as Identifiers in order to allow the syntactic classifier to\n * subsume the classification.\n * @deprecated Use getLexicalClassifications instead.\n */\n getClassificationsForLine(text: string, lexState: EndOfLineState, syntacticClassifierAbsent: boolean): ClassificationResult;\n getEncodedLexicalClassifications(text: string, endOfLineState: EndOfLineState, syntacticClassifierAbsent: boolean): Classifications;\n }\n enum ScriptElementKind {\n unknown = \"\",\n warning = \"warning\",\n /** predefined type (void) or keyword (class) */\n keyword = \"keyword\",\n /** top level script node */\n scriptElement = \"script\",\n /** module foo {} */\n moduleElement = \"module\",\n /** class X {} */\n classElement = \"class\",\n /** var x = class X {} */\n localClassElement = \"local class\",\n /** interface Y {} */\n interfaceElement = \"interface\",\n /** type T = ... */\n typeElement = \"type\",\n /** enum E */\n enumElement = \"enum\",\n enumMemberElement = \"enum member\",\n /**\n * Inside module and script only\n * const v = ..\n */\n variableElement = \"var\",\n /** Inside function */\n localVariableElement = \"local var\",\n /** using foo = ... */\n variableUsingElement = \"using\",\n /** await using foo = ... */\n variableAwaitUsingElement = \"await using\",\n /**\n * Inside module and script only\n * function f() { }\n */\n functionElement = \"function\",\n /** Inside function */\n localFunctionElement = \"local function\",\n /** class X { [public|private]* foo() {} } */\n memberFunctionElement = \"method\",\n /** class X { [public|private]* [get|set] foo:number; } */\n memberGetAccessorElement = \"getter\",\n memberSetAccessorElement = \"setter\",\n /**\n * class X { [public|private]* foo:number; }\n * interface Y { foo:number; }\n */\n memberVariableElement = \"property\",\n /** class X { [public|private]* accessor foo: number; } */\n memberAccessorVariableElement = \"accessor\",\n /**\n * class X { constructor() { } }\n * class X { static { } }\n */\n constructorImplementationElement = \"constructor\",\n /** interface Y { ():number; } */\n callSignatureElement = \"call\",\n /** interface Y { []:number; } */\n indexSignatureElement = \"index\",\n /** interface Y { new():Y; } */\n constructSignatureElement = \"construct\",\n /** function foo(*Y*: string) */\n parameterElement = \"parameter\",\n typeParameterElement = \"type parameter\",\n primitiveType = \"primitive type\",\n label = \"label\",\n alias = \"alias\",\n constElement = \"const\",\n letElement = \"let\",\n directory = \"directory\",\n externalModuleName = \"external module name\",\n /**\n * <JsxTagName attribute1 attribute2={0} />\n * @deprecated\n */\n jsxAttribute = \"JSX attribute\",\n /** String literal */\n string = \"string\",\n /** Jsdoc @link: in `{@link C link text}`, the before and after text \"{@link \" and \"}\" */\n link = \"link\",\n /** Jsdoc @link: in `{@link C link text}`, the entity name \"C\" */\n linkName = \"link name\",\n /** Jsdoc @link: in `{@link C link text}`, the link text \"link text\" */\n linkText = \"link text\",\n }\n enum ScriptElementKindModifier {\n none = \"\",\n publicMemberModifier = \"public\",\n privateMemberModifier = \"private\",\n protectedMemberModifier = \"protected\",\n exportedModifier = \"export\",\n ambientModifier = \"declare\",\n staticModifier = \"static\",\n abstractModifier = \"abstract\",\n optionalModifier = \"optional\",\n deprecatedModifier = \"deprecated\",\n dtsModifier = \".d.ts\",\n tsModifier = \".ts\",\n tsxModifier = \".tsx\",\n jsModifier = \".js\",\n jsxModifier = \".jsx\",\n jsonModifier = \".json\",\n dmtsModifier = \".d.mts\",\n mtsModifier = \".mts\",\n mjsModifier = \".mjs\",\n dctsModifier = \".d.cts\",\n ctsModifier = \".cts\",\n cjsModifier = \".cjs\",\n }\n enum ClassificationTypeNames {\n comment = \"comment\",\n identifier = \"identifier\",\n keyword = \"keyword\",\n numericLiteral = \"number\",\n bigintLiteral = \"bigint\",\n operator = \"operator\",\n stringLiteral = \"string\",\n whiteSpace = \"whitespace\",\n text = \"text\",\n punctuation = \"punctuation\",\n className = \"class name\",\n enumName = \"enum name\",\n interfaceName = \"interface name\",\n moduleName = \"module name\",\n typeParameterName = \"type parameter name\",\n typeAliasName = \"type alias name\",\n parameterName = \"parameter name\",\n docCommentTagName = \"doc comment tag name\",\n jsxOpenTagName = \"jsx open tag name\",\n jsxCloseTagName = \"jsx close tag name\",\n jsxSelfClosingTagName = \"jsx self closing tag name\",\n jsxAttribute = \"jsx attribute\",\n jsxText = \"jsx text\",\n jsxAttributeStringLiteralValue = \"jsx attribute string literal value\",\n }\n enum ClassificationType {\n comment = 1,\n identifier = 2,\n keyword = 3,\n numericLiteral = 4,\n operator = 5,\n stringLiteral = 6,\n regularExpressionLiteral = 7,\n whiteSpace = 8,\n text = 9,\n punctuation = 10,\n className = 11,\n enumName = 12,\n interfaceName = 13,\n moduleName = 14,\n typeParameterName = 15,\n typeAliasName = 16,\n parameterName = 17,\n docCommentTagName = 18,\n jsxOpenTagName = 19,\n jsxCloseTagName = 20,\n jsxSelfClosingTagName = 21,\n jsxAttribute = 22,\n jsxText = 23,\n jsxAttributeStringLiteralValue = 24,\n bigintLiteral = 25,\n }\n interface InlayHintsContext {\n file: SourceFile;\n program: Program;\n cancellationToken: CancellationToken;\n host: LanguageServiceHost;\n span: TextSpan;\n preferences: UserPreferences;\n }\n type ExportMapInfoKey = string & {\n __exportInfoKey: void;\n };\n /** The classifier is used for syntactic highlighting in editors via the TSServer */\n function createClassifier(): Classifier;\n interface DocumentHighlights {\n fileName: string;\n highlightSpans: HighlightSpan[];\n }\n function createDocumentRegistry(useCaseSensitiveFileNames?: boolean, currentDirectory?: string, jsDocParsingMode?: JSDocParsingMode): DocumentRegistry;\n /**\n * The document registry represents a store of SourceFile objects that can be shared between\n * multiple LanguageService instances. A LanguageService instance holds on the SourceFile (AST)\n * of files in the context.\n * SourceFile objects account for most of the memory usage by the language service. Sharing\n * the same DocumentRegistry instance between different instances of LanguageService allow\n * for more efficient memory utilization since all projects will share at least the library\n * file (lib.d.ts).\n *\n * A more advanced use of the document registry is to serialize sourceFile objects to disk\n * and re-hydrate them when needed.\n *\n * To create a default DocumentRegistry, use createDocumentRegistry to create one, and pass it\n * to all subsequent createLanguageService calls.\n */\n interface DocumentRegistry {\n /**\n * Request a stored SourceFile with a given fileName and compilationSettings.\n * The first call to acquire will call createLanguageServiceSourceFile to generate\n * the SourceFile if was not found in the registry.\n *\n * @param fileName The name of the file requested\n * @param compilationSettingsOrHost Some compilation settings like target affects the\n * shape of a the resulting SourceFile. This allows the DocumentRegistry to store\n * multiple copies of the same file for different compilation settings. A minimal\n * resolution cache is needed to fully define a source file's shape when\n * the compilation settings include `module: node16`+, so providing a cache host\n * object should be preferred. A common host is a language service `ConfiguredProject`.\n * @param scriptSnapshot Text of the file. Only used if the file was not found\n * in the registry and a new one was created.\n * @param version Current version of the file. Only used if the file was not found\n * in the registry and a new one was created.\n */\n acquireDocument(fileName: string, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind, sourceFileOptions?: CreateSourceFileOptions | ScriptTarget): SourceFile;\n acquireDocumentWithKey(fileName: string, path: Path, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind, sourceFileOptions?: CreateSourceFileOptions | ScriptTarget): SourceFile;\n /**\n * Request an updated version of an already existing SourceFile with a given fileName\n * and compilationSettings. The update will in-turn call updateLanguageServiceSourceFile\n * to get an updated SourceFile.\n *\n * @param fileName The name of the file requested\n * @param compilationSettingsOrHost Some compilation settings like target affects the\n * shape of a the resulting SourceFile. This allows the DocumentRegistry to store\n * multiple copies of the same file for different compilation settings. A minimal\n * resolution cache is needed to fully define a source file's shape when\n * the compilation settings include `module: node16`+, so providing a cache host\n * object should be preferred. A common host is a language service `ConfiguredProject`.\n * @param scriptSnapshot Text of the file.\n * @param version Current version of the file.\n */\n updateDocument(fileName: string, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind, sourceFileOptions?: CreateSourceFileOptions | ScriptTarget): SourceFile;\n updateDocumentWithKey(fileName: string, path: Path, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind, sourceFileOptions?: CreateSourceFileOptions | ScriptTarget): SourceFile;\n getKeyForCompilationSettings(settings: CompilerOptions): DocumentRegistryBucketKey;\n /**\n * Informs the DocumentRegistry that a file is not needed any longer.\n *\n * Note: It is not allowed to call release on a SourceFile that was not acquired from\n * this registry originally.\n *\n * @param fileName The name of the file to be released\n * @param compilationSettings The compilation settings used to acquire the file\n * @param scriptKind The script kind of the file to be released\n *\n * @deprecated pass scriptKind and impliedNodeFormat for correctness\n */\n releaseDocument(fileName: string, compilationSettings: CompilerOptions, scriptKind?: ScriptKind): void;\n /**\n * Informs the DocumentRegistry that a file is not needed any longer.\n *\n * Note: It is not allowed to call release on a SourceFile that was not acquired from\n * this registry originally.\n *\n * @param fileName The name of the file to be released\n * @param compilationSettings The compilation settings used to acquire the file\n * @param scriptKind The script kind of the file to be released\n * @param impliedNodeFormat The implied source file format of the file to be released\n */\n releaseDocument(fileName: string, compilationSettings: CompilerOptions, scriptKind: ScriptKind, impliedNodeFormat: ResolutionMode): void;\n /**\n * @deprecated pass scriptKind for and impliedNodeFormat correctness */\n releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey, scriptKind?: ScriptKind): void;\n releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey, scriptKind: ScriptKind, impliedNodeFormat: ResolutionMode): void;\n reportStats(): string;\n }\n type DocumentRegistryBucketKey = string & {\n __bucketKey: any;\n };\n function preProcessFile(sourceText: string, readImportFiles?: boolean, detectJavaScriptImports?: boolean): PreProcessedFileInfo;\n function transpileModule(input: string, transpileOptions: TranspileOptions): TranspileOutput;\n function transpileDeclaration(input: string, transpileOptions: TranspileOptions): TranspileOutput;\n function transpile(input: string, compilerOptions?: CompilerOptions, fileName?: string, diagnostics?: Diagnostic[], moduleName?: string): string;\n interface TranspileOptions {\n compilerOptions?: CompilerOptions;\n fileName?: string;\n reportDiagnostics?: boolean;\n moduleName?: string;\n renamedDependencies?: MapLike<string>;\n transformers?: CustomTransformers;\n jsDocParsingMode?: JSDocParsingMode;\n }\n interface TranspileOutput {\n outputText: string;\n diagnostics?: Diagnostic[];\n sourceMapText?: string;\n }\n function toEditorSettings(options: EditorOptions | EditorSettings): EditorSettings;\n function displayPartsToString(displayParts: SymbolDisplayPart[] | undefined): string;\n function getDefaultCompilerOptions(): CompilerOptions;\n function getSupportedCodeFixes(): readonly string[];\n function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTargetOrOptions: ScriptTarget | CreateSourceFileOptions, version: string, setNodeParents: boolean, scriptKind?: ScriptKind): SourceFile;\n function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange | undefined, aggressiveChecks?: boolean): SourceFile;\n function createLanguageService(host: LanguageServiceHost, documentRegistry?: DocumentRegistry, syntaxOnlyOrLanguageServiceMode?: boolean | LanguageServiceMode): LanguageService;\n /**\n * Get the path of the default library files (lib.d.ts) as distributed with the typescript\n * node package.\n * The functionality is not supported if the ts module is consumed outside of a node module.\n */\n function getDefaultLibFilePath(options: CompilerOptions): string;\n /** The version of the language service API */\n const servicesVersion = \"0.8\";\n /**\n * Transform one or more nodes using the supplied transformers.\n * @param source A single `Node` or an array of `Node` objects.\n * @param transformers An array of `TransformerFactory` callbacks used to process the transformation.\n * @param compilerOptions Optional compiler options.\n */\n function transform<T extends Node>(source: T | T[], transformers: TransformerFactory<T>[], compilerOptions?: CompilerOptions): TransformationResult<T>;\n}\nexport = ts;\n",
14562
14562
  "node_modules/typescript/package.json": "{\n \"name\": \"typescript\",\n \"author\": \"Microsoft Corp.\",\n \"homepage\": \"https://www.typescriptlang.org/\",\n \"version\": \"5.8.3\",\n \"license\": \"Apache-2.0\",\n \"description\": \"TypeScript is a language for application scale JavaScript development\",\n \"keywords\": [\n \"TypeScript\",\n \"Microsoft\",\n \"compiler\",\n \"language\",\n \"javascript\"\n ],\n \"bugs\": {\n \"url\": \"https://github.com/microsoft/TypeScript/issues\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/microsoft/TypeScript.git\"\n },\n \"main\": \"./lib/typescript.js\",\n \"typings\": \"./lib/typescript.d.ts\",\n \"bin\": {\n \"tsc\": \"./bin/tsc\",\n \"tsserver\": \"./bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=14.17\"\n },\n \"files\": [\n \"bin\",\n \"lib\",\n \"!lib/enu\",\n \"LICENSE.txt\",\n \"README.md\",\n \"SECURITY.md\",\n \"ThirdPartyNoticeText.txt\",\n \"!**/.gitattributes\"\n ],\n \"devDependencies\": {\n \"@dprint/formatter\": \"^0.4.1\",\n \"@dprint/typescript\": \"0.93.3\",\n \"@esfx/canceltoken\": \"^1.0.0\",\n \"@eslint/js\": \"^9.17.0\",\n \"@octokit/rest\": \"^21.0.2\",\n \"@types/chai\": \"^4.3.20\",\n \"@types/diff\": \"^5.2.3\",\n \"@types/minimist\": \"^1.2.5\",\n \"@types/mocha\": \"^10.0.10\",\n \"@types/ms\": \"^0.7.34\",\n \"@types/node\": \"latest\",\n \"@types/source-map-support\": \"^0.5.10\",\n \"@types/which\": \"^3.0.4\",\n \"@typescript-eslint/rule-tester\": \"^8.18.1\",\n \"@typescript-eslint/type-utils\": \"^8.18.1\",\n \"@typescript-eslint/utils\": \"^8.18.1\",\n \"azure-devops-node-api\": \"^14.1.0\",\n \"c8\": \"^10.1.3\",\n \"chai\": \"^4.5.0\",\n \"chalk\": \"^4.1.2\",\n \"chokidar\": \"^3.6.0\",\n \"diff\": \"^5.2.0\",\n \"dprint\": \"^0.47.6\",\n \"esbuild\": \"^0.24.0\",\n \"eslint\": \"^9.17.0\",\n \"eslint-formatter-autolinkable-stylish\": \"^1.4.0\",\n \"eslint-plugin-regexp\": \"^2.7.0\",\n \"fast-xml-parser\": \"^4.5.1\",\n \"glob\": \"^10.4.5\",\n \"globals\": \"^15.13.0\",\n \"hereby\": \"^1.10.0\",\n \"jsonc-parser\": \"^3.3.1\",\n \"knip\": \"^5.41.0\",\n \"minimist\": \"^1.2.8\",\n \"mocha\": \"^10.8.2\",\n \"mocha-fivemat-progress-reporter\": \"^0.1.0\",\n \"monocart-coverage-reports\": \"^2.11.4\",\n \"ms\": \"^2.1.3\",\n \"playwright\": \"^1.49.1\",\n \"source-map-support\": \"^0.5.21\",\n \"tslib\": \"^2.8.1\",\n \"typescript\": \"^5.7.2\",\n \"typescript-eslint\": \"^8.18.1\",\n \"which\": \"^3.0.1\"\n },\n \"overrides\": {\n \"typescript@*\": \"$typescript\"\n },\n \"scripts\": {\n \"test\": \"hereby runtests-parallel --light=false\",\n \"test:eslint-rules\": \"hereby run-eslint-rules-tests\",\n \"build\": \"npm run build:compiler && npm run build:tests\",\n \"build:compiler\": \"hereby local\",\n \"build:tests\": \"hereby tests\",\n \"build:tests:notypecheck\": \"hereby tests --no-typecheck\",\n \"clean\": \"hereby clean\",\n \"gulp\": \"hereby\",\n \"lint\": \"hereby lint\",\n \"knip\": \"hereby knip\",\n \"format\": \"dprint fmt\",\n \"setup-hooks\": \"node scripts/link-hooks.mjs\"\n },\n \"browser\": {\n \"fs\": false,\n \"os\": false,\n \"path\": false,\n \"crypto\": false,\n \"buffer\": false,\n \"source-map-support\": false,\n \"inspector\": false,\n \"perf_hooks\": false\n },\n \"packageManager\": \"npm@8.19.4\",\n \"volta\": {\n \"node\": \"20.1.0\",\n \"npm\": \"8.19.4\"\n },\n \"gitHead\": \"68cead182cc24afdc3f1ce7c8ff5853aba14b65a\"\n}\n",
14563
- "node_modules/typia/lib/AssertionGuard.d.ts": "export type AssertionGuard<T> = (input: unknown) => asserts input is T;\n",
14563
+ "node_modules/typia/lib/AssertionGuard.d.ts": "/**\n * Type definition for assertion guard functions in `typia`.\n *\n * An assertion guard is a function that asserts an input value's type at runtime\n * and performs a TypeScript type assertion if validation passes. Unlike regular\n * assertion functions that return the validated value, assertion guards return\n * nothing but automatically cast the input parameter to the expected type `T`.\n *\n * This type is used by `typia.createAssertGuard<T>()` and `typia.createAssertGuardEquals<T>()`\n * to generate reusable assertion guard functions.\n *\n * @template T - The expected type to validate and assert against\n * @param input - The value to validate (type unknown)\n * @throws {TypeGuardError} When the input value doesn't match the expected type T\n * @returns void - Returns nothing, but asserts that input is type T\n *\n * @example\n * ```typescript\n * interface IMember {\n * name: string;\n * age: number;\n * }\n *\n * // Create reusable assertion guard\n * const assertMember: AssertionGuard<IMember> = typia.createAssertGuard<IMember>();\n *\n * // Usage - input will be automatically cast to IMember if validation passes\n * const unknownData: unknown = { name: \"John\", age: 25 };\n *\n * assertMember(unknownData);\n * // After this line, unknownData is automatically treated as IMember type\n * console.log(unknownData.name); // TypeScript knows this is safe\n * ```\n *\n * @see {@link https://github.com/samchon/typia#assertguard-functions} Typia assertion guards documentation\n * @see {@link TypeGuardError} Error thrown when assertion fails\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport type AssertionGuard<T> = (input: unknown) => asserts input is T;\n",
14564
14564
  "node_modules/typia/lib/CamelCase.d.ts": "import { Equal } from \"./typings/Equal\";\nimport { IsTuple } from \"./typings/IsTuple\";\nimport { NativeClass } from \"./typings/NativeClass\";\nimport { ValueOf } from \"./typings/ValueOf\";\n/**\n * Camel case type.\n *\n * `CamelCase` type is a type that all keys of an object are camelized.\n *\n * It also erase every method properties like {@link Resolved} type.\n *\n * @template T Target type to be camelized\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport type CamelCase<T> = Equal<T, CamelizeMain<T>> extends true ? T : CamelizeMain<T>;\ntype CamelizeMain<T> = T extends [never] ? never : T extends {\n valueOf(): boolean | bigint | number | string;\n} ? ValueOf<T> : T extends Function ? never : T extends object ? CamelizeObject<T> : T;\ntype CamelizeObject<T extends object> = T extends Array<infer U> ? IsTuple<T> extends true ? CamelizeTuple<T> : CamelizeMain<U>[] : T extends Set<infer U> ? Set<CamelizeMain<U>> : T extends Map<infer K, infer V> ? Map<CamelizeMain<K>, CamelizeMain<V>> : T extends WeakSet<any> | WeakMap<any, any> ? never : T extends NativeClass ? T : {\n [Key in keyof T as CamelizeString<Key & string>]: CamelizeMain<T[Key]>;\n};\ntype CamelizeTuple<T extends readonly any[]> = T extends [] ? [] : T extends [infer F] ? [CamelizeMain<F>] : T extends [infer F, ...infer Rest extends readonly any[]] ? [CamelizeMain<F>, ...CamelizeTuple<Rest>] : T extends [(infer F)?] ? [CamelizeMain<F>?] : T extends [(infer F)?, ...infer Rest extends readonly any[]] ? [CamelizeMain<F>?, ...CamelizeTuple<Rest>] : [];\ntype CamelizeString<Key extends string> = Key extends `_${infer R}` ? `_${CamelizeString<R>}` : Key extends `${infer _F}_${infer _R}` ? CamelizeSnakeString<Key> : Key extends Uppercase<Key> ? Lowercase<Key> : CamelizePascalString<Key>;\ntype CamelizePascalString<Key extends string> = Key extends `${infer F}${infer R}` ? `${Lowercase<F>}${R}` : Key;\ntype CamelizeSnakeString<Key extends string> = Key extends `_${infer R}` ? CamelizeSnakeString<R> : Key extends `${infer F}_${infer M}${infer R}` ? M extends \"_\" ? CamelizeSnakeString<`${F}_${R}`> : `${Lowercase<F>}${Uppercase<M>}${CamelizeSnakeString<R>}` : Lowercase<Key>;\nexport {};\n",
14565
14565
  "node_modules/typia/lib/IRandomGenerator.d.ts": "import { OpenApi } from \"@samchon/openapi\";\nexport interface IRandomGenerator {\n boolean(): boolean | undefined;\n number(schema: OpenApi.IJsonSchema.INumber): number;\n integer(schema: OpenApi.IJsonSchema.IInteger): number;\n bigint(schema: OpenApi.IJsonSchema.IInteger): bigint;\n string(schema: OpenApi.IJsonSchema.IString): string;\n array<T>(schema: Omit<OpenApi.IJsonSchema.IArray, \"items\"> & {\n element: (index: number, count: number) => T;\n }): T[];\n pattern(regex: RegExp): string;\n byte(): string;\n password(): string;\n regex(): string;\n uuid(): string;\n email(): string;\n hostname(): string;\n idnEmail(): string;\n idnHostname(): string;\n iri(): string;\n iriReference(): string;\n ipv4(): string;\n ipv6(): string;\n uri(): string;\n uriReference(): string;\n uriTemplate(): string;\n url(): string;\n datetime(props?: {\n minimum?: number;\n maximum?: number;\n }): string;\n date(props?: {\n minimum?: number;\n maximum?: number;\n }): string;\n time(): string;\n duration(): string;\n jsonPointer(): string;\n relativeJsonPointer(): string;\n}\n",
14566
14566
  "node_modules/typia/lib/IReadableURLSearchParams.d.ts": "/**\n * Interface for a readable URLSearchParams object.\n *\n * This interface is a subset of the {@link URLSearchParams} interface,\n * designed especially for the [Hono.JS](https://hono.dev/) library.\n *\n * @author https://github.com/miyaji255\n */\nexport type IReadableURLSearchParams = Pick<URLSearchParams, \"get\" | \"getAll\">;\n",
@@ -14569,7 +14569,7 @@
14569
14569
  "node_modules/typia/lib/Primitive.d.ts": "import { Equal } from \"./typings/Equal\";\nimport { IsTuple } from \"./typings/IsTuple\";\nimport { NativeClass } from \"./typings/NativeClass\";\nimport { ValueOf } from \"./typings/ValueOf\";\nimport { Format } from \"./tags\";\n/**\n * Primitive type of JSON.\n *\n * `Primitive<T>` is a TMP (Type Meta Programming) type which converts\n * its argument as a primitive type within framework JSON.\n *\n * If the target argument is a built-in class which returns its origin primitive type\n * through the `valueOf()` method like the `String` or `Number`, its return type would\n * be the `string` or `number`. Otherwise, the built-in class does not have the\n * `valueOf()` method, the return type would be an empty object (`{}`).\n *\n * Otherwise, the target argument is a type of custom class, all of its custom method\n * would be erased and its prototype would be changed to the primitive `object`.\n * Therefore, return type of the TMP type finally be the primitive object.\n *\n * In addition, if the target argument is a type of custom class and it has a special\n * method `toJSON()`, return type of this `Primitive` would be not `Primitive<Instance>`\n * but `Primitive<ReturnType<Instance.toJSON>>`.\n *\n * Before | After\n * ------------------------|----------------------------------------\n * `Boolean` | `boolean`\n * `Number` | `number`\n * `String` | `string`\n * `Class` | `object`\n * `Class` with `toJSON()` | `Primitive<ReturnType<Class.toJSON>>`\n * Native Class | never\n * Others | No change\n *\n * @template T Target argument type.\n * @author Jeongho Nam - https://github.com/samchon\n * @author Kyungsu Kang - https://github.com/kakasoo\n * @author Michael - https://github.com/8471919\n */\nexport type Primitive<T> = Equal<T, PrimitiveMain<T>> extends true ? T : PrimitiveMain<T>;\ntype PrimitiveMain<Instance> = Instance extends [never] ? never : ValueOf<Instance> extends bigint ? never : ValueOf<Instance> extends boolean | number | string ? ValueOf<Instance> : Instance extends Function ? never : ValueOf<Instance> extends object ? Instance extends object ? Instance extends Date ? string & Format<\"date-time\"> : Instance extends IJsonable<infer Raw> ? ValueOf<Raw> extends object ? Raw extends object ? PrimitiveObject<Raw> : never : ValueOf<Raw> : Instance extends Exclude<NativeClass, Date> ? never : PrimitiveObject<Instance> : never : ValueOf<Instance>;\ntype PrimitiveObject<Instance extends object> = Instance extends Array<infer T> ? IsTuple<Instance> extends true ? PrimitiveTuple<Instance> : PrimitiveMain<T>[] : {\n [P in keyof Instance]: PrimitiveMain<Instance[P]>;\n};\ntype PrimitiveTuple<T extends readonly any[]> = T extends [] ? [] : T extends [infer F] ? [PrimitiveMain<F>] : T extends [infer F, ...infer Rest extends readonly any[]] ? [PrimitiveMain<F>, ...PrimitiveTuple<Rest>] : T extends [(infer F)?] ? [PrimitiveMain<F>?] : T extends [(infer F)?, ...infer Rest extends readonly any[]] ? [PrimitiveMain<F>?, ...PrimitiveTuple<Rest>] : [];\ninterface IJsonable<T> {\n toJSON(): T;\n}\nexport {};\n",
14570
14570
  "node_modules/typia/lib/Resolved.d.ts": "import { Equal } from \"./typings/Equal\";\nimport { IsTuple } from \"./typings/IsTuple\";\nimport { NativeClass } from \"./typings/NativeClass\";\nimport { ValueOf } from \"./typings/ValueOf\";\n/**\n * Resolved type erased every methods.\n *\n * `Resolved` is a type of TMP (Type Meta Programming) type which converts\n * its argument as a resolved type that erased every method properties.\n *\n * If the target argument is a built-in class which returns its origin primitive type\n * through the `valueOf()` method like the `String` or `Number`, its return type would\n * be the `string` or `number`. Otherwise, the built-in class does not have the\n * `valueOf()` method, the return type would be same with the target argument.\n *\n * Otherwise, the target argument is a type of custom class, all of its custom methods\n * would be erased and its prototype would be changed to the primitive `object`.\n * Therefore, return type of the TMP type finally be the resolved object.\n *\n * Before | After\n * ------------------------|----------------------------------------\n * `Boolean` | `boolean`\n * `Number` | `number`\n * `BigInt` | `bigint`\n * `String` | `string`\n * `Class` | `interface`\n * Native Class or Others | No change\n *\n * @template T Target argument type.\n * @author Jeongho Nam - https://github.com/samchon\n * @author Kyungsu Kang - https://github.com/kakasoo\n */\nexport type Resolved<T> = Equal<T, ResolvedMain<T>> extends true ? T : ResolvedMain<T>;\ntype ResolvedMain<T> = T extends [never] ? never : ValueOf<T> extends boolean | number | bigint | string ? ValueOf<T> : T extends Function ? never : T extends object ? ResolvedObject<T> : ValueOf<T>;\ntype ResolvedObject<T extends object> = T extends Array<infer U> ? IsTuple<T> extends true ? ResolvedTuple<T> : ResolvedMain<U>[] : T extends Set<infer U> ? Set<ResolvedMain<U>> : T extends Map<infer K, infer V> ? Map<ResolvedMain<K>, ResolvedMain<V>> : T extends WeakSet<any> | WeakMap<any, any> ? never : T extends NativeClass ? T : {\n [P in keyof T]: ResolvedMain<T[P]>;\n};\ntype ResolvedTuple<T extends readonly any[]> = T extends [] ? [] : T extends [infer F] ? [ResolvedMain<F>] : T extends [infer F, ...infer Rest extends readonly any[]] ? [ResolvedMain<F>, ...ResolvedTuple<Rest>] : T extends [(infer F)?] ? [ResolvedMain<F>?] : T extends [(infer F)?, ...infer Rest extends readonly any[]] ? [ResolvedMain<F>?, ...ResolvedTuple<Rest>] : [];\nexport {};\n",
14571
14571
  "node_modules/typia/lib/SnakeCase.d.ts": "import { Equal } from \"./typings/Equal\";\nimport { NativeClass } from \"./typings/NativeClass\";\nimport { ValueOf } from \"./typings/ValueOf\";\n/**\n * Snake case type.\n *\n * `SnakeCase` type is a type that all keys of an object are converted to snake case.\n *\n * It also erase every method properties like {@link Resolved} type.\n *\n * @template T Target type to be snake cased\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport type SnakeCase<T> = Equal<T, SnakageMain<T>> extends true ? T : SnakageMain<T>;\ntype SnakageMain<T> = T extends [never] ? never : T extends {\n valueOf(): boolean | bigint | number | string;\n} ? ValueOf<T> : T extends Function ? never : T extends object ? SnakageObject<T> : T;\ntype SnakageObject<T extends object> = T extends Array<infer U> ? IsTuple<T> extends true ? SnakageTuple<T> : SnakageMain<U>[] : T extends Set<infer U> ? Set<SnakageMain<U>> : T extends Map<infer K, infer V> ? Map<SnakageMain<K>, SnakageMain<V>> : T extends WeakSet<any> | WeakMap<any, any> ? never : T extends NativeClass ? T : {\n [Key in keyof T as SnakageString<Key & string>]: SnakageMain<T[Key]>;\n};\ntype IsTuple<T extends readonly any[] | {\n length: number;\n}> = [T] extends [\n never\n] ? false : T extends readonly any[] ? number extends T[\"length\"] ? false : true : false;\ntype SnakageTuple<T extends readonly any[]> = T extends [] ? [] : T extends [infer F] ? [SnakageMain<F>] : T extends [infer F, ...infer Rest extends readonly any[]] ? [SnakageMain<F>, ...SnakageTuple<Rest>] : T extends [(infer F)?] ? [SnakageMain<F>?] : T extends [(infer F)?, ...infer Rest extends readonly any[]] ? [SnakageMain<F>?, ...SnakageTuple<Rest>] : [];\ntype SnakageString<Key extends string> = Key extends `${infer _}` ? SnakageStringRepeatedly<Key, \"\"> : Key;\ntype SnakageStringRepeatedly<S extends string, Previous extends string> = S extends `${infer First}${infer Second}${infer Rest}` ? `${Underscore<Previous, First>}${Lowercase<First>}${Underscore<First, Second>}${Lowercase<Second>}${SnakageStringRepeatedly<Rest, Second>}` : S extends `${infer First}` ? `${Underscore<Previous, First>}${Lowercase<First>}` : \"\";\ntype Underscore<First extends string, Second extends string> = First extends UpperAlphabetic | \"\" | \"_\" ? \"\" : Second extends UpperAlphabetic ? \"_\" : \"\";\ntype UpperAlphabetic = \"A\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\" | \"H\" | \"I\" | \"J\" | \"K\" | \"L\" | \"M\" | \"N\" | \"O\" | \"P\" | \"Q\" | \"R\" | \"S\" | \"T\" | \"U\" | \"V\" | \"W\" | \"X\" | \"Y\" | \"Z\";\nexport {};\n",
14572
- "node_modules/typia/lib/TypeGuardError.d.ts": "export declare class TypeGuardError<T = any> extends Error {\n readonly method: string;\n readonly path: string | undefined;\n readonly expected: string;\n readonly value: any;\n protected readonly fake_expected_typed_value_?: T | undefined;\n constructor(props: TypeGuardError.IProps);\n}\nexport declare namespace TypeGuardError {\n interface IProps {\n method: string;\n path?: undefined | string;\n expected: string;\n value: any;\n message?: undefined | string;\n }\n}\n",
14572
+ "node_modules/typia/lib/TypeGuardError.d.ts": "/**\n * Custom error class thrown when runtime assertion fails in `typia.assert<T>()` function.\n *\n * This error is thrown by the `typia.assert<T>()` function when the input value\n * doesn't match the expected type.\n *\n * The error provides detailed information about the first assertion failure encountered,\n * including the access path where the error occurred, the expected type, and the actual value.\n *\n * @template T - The expected type (generic for type safety)\n * @author Jeongho Nam - https://github.com/samchon\n * @example\n * ```typescript\n * interface IMember {\n * name: string;\n * age: number & ExclusiveMinimum<19>;\n * }\n *\n * try {\n * typia.assert<IMember>({ name: \"John\", age: 18 });\n * } catch (error) {\n * if (error instanceof TypeGuardError) {\n * console.log(error.method); // \"typia.assert\"\n * console.log(error.path); // \"input.age\"\n * console.log(error.expected); // \"number & ExclusiveMinimum<19>\"\n * console.log(error.value); // 18\n * }\n * }\n * ```\n */\nexport declare class TypeGuardError<T = any> extends Error {\n /**\n * The name of the typia method that threw this error.\n *\n * @example \"typia.assert\"\n */\n readonly method: string;\n /**\n * The access path to the property where the assertion error occurred.\n *\n * Uses dot notation to indicate the path for nested object properties.\n * May be `undefined` if the error occurred at the root level.\n *\n * @example\n * - `\"input.age\"` - Error in the age property of the object\n * - `\"input.profile.email\"` - Error in the email property of a nested object\n * - `\"input[0].name\"` - Error in the name property of the first array element\n * - `undefined` - Error occurred at the root level\n */\n readonly path: string | undefined;\n /**\n * String representation of the expected type at the error location.\n *\n * Represents TypeScript types as strings, including detailed type information\n * for complex types.\n *\n * @example\n * - `\"string\"` - Expected string type\n * - `\"number & ExclusiveMinimum<19>\"` - Expected number greater than 19\n * - `\"undefined\"` - Expected undefined (when superfluous property found in assertion)\n * - `\"{ name: string; age: number }\"` - Expected object type\n */\n readonly expected: string;\n /**\n * The actual value that failed assertion.\n *\n * Stores the actual value at the error path as-is.\n * Useful for debugging by comparing the expected type with the actual value.\n *\n * @example\n * - `18` - Numeric value\n * - `\"invalid\"` - String value\n * - `{ name: \"John\", age: 18, sex: 1 }` - Object value\n */\n readonly value: unknown;\n /**\n * Creates a new TypeGuardError instance.\n *\n * @param props - Object containing the properties needed to create the error\n *\n * @example\n * ```typescript\n * const error = new TypeGuardError({\n * method: \"typia.assert\",\n * path: \"input.age\",\n * expected: \"number & ExclusiveMinimum<19>\",\n * value: 18\n * });\n * ```\n */\n constructor(props: TypeGuardError.IProps);\n}\nexport declare namespace TypeGuardError {\n /**\n * Interface for properties passed to the TypeGuardError constructor.\n *\n * @example\n * ```typescript\n * const props: TypeGuardError.IProps = {\n * method: \"typia.assertEquals\",\n * path: \"input.sex\",\n * expected: \"undefined\",\n * value: 1,\n * message: \"Custom error message\" // optional\n * };\n * ```\n */\n interface IProps {\n /**\n * The name of the typia method that threw the error.\n *\n * @example \"typia.assert\", \"typia.assertEquals\"\n */\n method: string;\n /**\n * The access path to the property where the assertion error occurred (optional).\n *\n * @example \"input.age\", \"input.profile.email\"\n */\n path?: undefined | string;\n /**\n * String representation of the expected type at the error location.\n *\n * @example \"string\", \"number & ExclusiveMinimum<19>\"\n */\n expected: string;\n /**\n * The actual value that failed assertion.\n */\n value: unknown;\n /**\n * Custom error message (optional).\n *\n * If not provided, a default format message will be automatically generated.\n */\n message?: undefined | string;\n }\n}\n",
14573
14573
  "node_modules/typia/lib/executable/TypiaGenerateWizard.d.ts": "export declare namespace TypiaGenerateWizard {\n function generate(): Promise<void>;\n interface IArguments {\n input: string;\n output: string;\n project: string;\n }\n}\n",
14574
14574
  "node_modules/typia/lib/executable/TypiaPatchWizard.d.ts": "export declare namespace TypiaPatchWizard {\n const main: () => Promise<void>;\n const patch: () => Promise<void>;\n}\n",
14575
14575
  "node_modules/typia/lib/executable/TypiaSetupWizard.d.ts": "export declare namespace TypiaSetupWizard {\n interface IArguments {\n manager: \"npm\" | \"pnpm\" | \"yarn\" | \"bun\";\n project: string | null;\n }\n const setup: () => Promise<void>;\n}\n",
@@ -14578,7 +14578,7 @@
14578
14578
  "node_modules/typia/lib/executable/setup/FileRetriever.d.ts": "export declare namespace FileRetriever {\n const directory: (props: {\n file: string;\n location: string;\n depth?: number;\n }) => string | null;\n}\n",
14579
14579
  "node_modules/typia/lib/executable/setup/PackageManager.d.ts": "export declare class PackageManager {\n readonly directory: string;\n data: Package.Data;\n manager: Manager;\n get file(): string;\n static mount(): Promise<PackageManager>;\n save(modifier: (data: Package.Data) => void): Promise<void>;\n install(props: {\n dev: boolean;\n modulo: string;\n version: string;\n }): boolean;\n private constructor();\n private static load;\n}\nexport declare namespace Package {\n interface Data {\n scripts?: Record<string, string>;\n dependencies?: Record<string, string>;\n devDependencies?: Record<string, string>;\n }\n}\ntype Manager = \"npm\" | \"pnpm\" | \"yarn\" | \"bun\";\nexport {};\n",
14580
14580
  "node_modules/typia/lib/executable/setup/PluginConfigurator.d.ts": "import { TypiaSetupWizard } from \"../TypiaSetupWizard\";\nexport declare namespace PluginConfigurator {\n function configure(args: TypiaSetupWizard.IArguments): Promise<void>;\n}\n",
14581
- "node_modules/typia/lib/executable/typia.d.ts": "#!/usr/bin/env node\ndeclare const USAGE = \"Wrong command has been detected. Use like below:\\n\\n npx typia setup \\\\\\n --manager (npm|pnpm|yarn) \\\\\\n --project {tsconfig.json file path}\\n\\n - npx typia setup\\n - npx typia setup --manager pnpm\\n - npx typia setup --project tsconfig.test.json\\n\\n npx typia generate \\n --input {directory} \\\\\\n --output {directory}\\n\\n --npx typia generate --input src/templates --output src/functinoal\\n\";\ndeclare const halt: (desc: string) => never;\ndeclare const main: () => Promise<void>;\n",
14581
+ "node_modules/typia/lib/executable/typia.d.ts": "#!/usr/bin/env node\ndeclare const USAGE = \"Wrong command has been detected. Use like below:\\n\\n npx typia setup \\\\\\n --manager (npm|pnpm|yarn) \\\\\\n --project {tsconfig.json file path}\\n\\n - npx typia setup\\n - npx typia setup --manager pnpm\\n - npx typia setup --project tsconfig.test.json\\n\\n npx typia generate \\n --input {directory} \\\\\\n --output {directory}\\n\\n --npx typia generate --input src/templates --output src/functional\\n\";\ndeclare const halt: (desc: string) => never;\ndeclare const main: () => Promise<void>;\n",
14582
14582
  "node_modules/typia/lib/factories/CommentFactory.d.ts": "import ts from \"typescript\";\nexport declare namespace CommentFactory {\n const description: (symbol: ts.Symbol, includeTags?: boolean) => string | undefined;\n const merge: (comments: ts.SymbolDisplayPart[]) => string;\n}\n",
14583
14583
  "node_modules/typia/lib/factories/ExpressionFactory.d.ts": "import ts from \"typescript\";\nimport { ImportProgrammer } from \"../programmers/ImportProgrammer\";\nexport declare namespace ExpressionFactory {\n const number: (value: number) => ts.PrefixUnaryExpression | ts.NumericLiteral;\n const bigint: (value: number | bigint) => ts.CallExpression;\n const isRequired: (input: ts.Expression) => ts.Expression;\n const isArray: (input: ts.Expression) => ts.Expression;\n const isObject: (props: {\n checkNull: boolean;\n checkArray: boolean;\n input: ts.Expression;\n }) => ts.Expression;\n const isInstanceOf: (type: string, input: ts.Expression) => ts.Expression;\n const coalesce: (x: ts.Expression, y: ts.Expression) => ts.Expression;\n const currying: (props: {\n function: ts.Expression;\n arguments: ts.Expression[];\n }) => ts.CallExpression;\n const selfCall: (body: ts.ConciseBody, type?: ts.TypeNode | undefined) => ts.CallExpression;\n const getEscapedText: (props: {\n printer: ts.Printer;\n input: ts.Expression;\n }) => string;\n const transpile: (props: {\n transformer?: ts.TransformationContext;\n importer?: ImportProgrammer;\n script: string;\n }) => (input: ts.Expression) => ts.Expression;\n}\n",
14584
14584
  "node_modules/typia/lib/factories/IdentifierFactory.d.ts": "import ts from \"typescript\";\nexport declare namespace IdentifierFactory {\n const identifier: (name: string) => ts.Identifier | ts.StringLiteral;\n const access: (input: ts.Expression, key: string, chain?: boolean) => ts.PropertyAccessExpression | ts.ElementAccessExpression;\n const getName: (input: ts.Expression) => string;\n const postfix: (str: string) => string;\n const parameter: (name: string | ts.BindingName, type?: ts.TypeNode | undefined, init?: ts.Expression | ts.PunctuationToken<ts.SyntaxKind.QuestionToken> | undefined) => ts.ParameterDeclaration;\n}\n",
@@ -14857,8 +14857,8 @@
14857
14857
  "node_modules/typia/lib/protobuf.d.ts": "import { IValidation } from \"./IValidation\";\nimport { Resolved } from \"./Resolved\";\nimport { TypeGuardError } from \"./TypeGuardError\";\n/**\n * > You must configure the generic argument `T`.\n *\n * Protocol Buffer Message Schema.\n *\n * Creates a Protocol Buffer Message Schema from a TypeScript type. The message\n * schema would be returned as a string value, and it can be used to share with\n * other developers/languages/frameworks.\n *\n * For reference, Protocol Buffer has lots of restrictions, so that expression power\n * of Protocol Buffer is not enough strong to fully meet the TypeScript type specs.\n * In such reason, if you put a TypeScript type that is not compatible with Protocol\n * Buffer, this function would throw compilation errors.\n *\n * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)\n *\n * @template T Target type\n * @returns Protocol Buffer Message Schema.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function message(): never;\n/**\n * Protocol Buffer Message Schema.\n *\n * Creates a Protocol Buffer Message Schema from a TypeScript type. The message\n * schema would be returned as a string value, and it can be used to share with\n * other developers/languages/frameworks.\n *\n * For reference, Protocol Buffer has lots of restrictions, so that expression power\n * of Protocol Buffer is not enough strong to fully meet the TypeScript type specs.\n * In such reason, if you put a TypeScript type that is not compatible with Protocol\n * Buffer, this function would throw compilation errors.\n *\n * @template T Target type\n * @returns Protocol Buffer Message Schema.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function message<T>(): string;\n/**\n * > You must configure the generic argument `T`.\n *\n * Protocol Buffer Decoder.\n *\n * `typia.protobuf.decode()` is a function decoding a binary data of Protocol Buffer\n * format to a TypeScript instance.\n *\n * For reference, as Protocol Buffer handles binary data directly, there's no way\n * when `input` binary data was not encoded from the `T` typed value. In that case,\n * unexpected behavior or internal error would be occurred. Therefore, I recommend you\n * to encode binary data of Protocol Buffer from type safe encode functions like below.\n * Use {@link encode} function only when you can ensure it.\n *\n * - {@link assertEncode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * Also, `typia` is providing type safe decoders like {@link assertDecode}, but it\n * is just for additional type validation like `number & Minimum<7>` or\n * `string & Format<\"uuid\">` cases, that are represented by\n * [custom tags](https://typia.io/docs/validators/tags). Thus, I repeat that,\n * you've to ensure the type safety when using decoder functions.\n *\n * @template T Expected type of decoded value\n * @param input Protobuf Buffer binary data\n * @returns Decoded value\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function decode(input: Uint8Array): never;\n/**\n * Protocol Buffer Decoder.\n *\n * `typia.protobuf.decode()` is a function decoding a binary data of Protocol Buffer\n * format to a TypeScript instance.\n *\n * For reference, as Protocol Buffer handles binary data directly, there's no way\n * when `input` binary data was not encoded from the `T` typed value. In that case,\n * unexpected behavior or internal error would be occurred. Therefore, I recommend you\n * to encode binary data of Protocol Buffer from type safe encode functions like below.\n * Use {@link encode} function only when you can ensure it.\n *\n * - {@link assertEncode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * Also, `typia` is providing type safe decoders like {@link assertDecode}, but it\n * is just for additional type validation like `number & Minimum<7>` or\n * `string & Format<\"uuid\">` cases, that are represented by\n * [custom tags](https://typia.io/docs/validators/tags). Thus, I repeat that,\n * you've to ensure the type safety when using decoder functions.\n *\n * @template T Expected type of decoded value\n * @param input Protobuf Buffer binary data\n * @returns Decoded value\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function decode<T>(input: Uint8Array): Resolved<T>;\n/**\n * > You must configure the generic argument `T`.\n *\n * Protocol Buffer Decoder wity type assertion, but not safe.\n *\n * `typia.protobuf.assertDecode()` is a combination function of {@link decode} and\n * {@link assert} function. Therefore, it decodes a binary data of Protocol Buffer to\n * a TypeScript instance, and performs type assertion process. If decoded value is\n * following the type `T`, it returns the decoded value. Otherwise, it throws\n * {@link TypeGuardError} instead.\n *\n * However, note that, this validation is not always safe. It just performs additional\n * type assertion like `number & Minimum<7>` or `string & Format<\"uuid\">` cases,\n * that are represented by [custom tags](https://typia.io/docs/validators/tags).\n * Therefore, when using `typia.protobuf.assertDecode<T>()` function, you have to\n * ensure the type safety by yourself.\n *\n * In such type safety reason, I recommend you to use type safe encode functions.\n *\n * - {@link assertEncode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * @template T Expected type of decoded value\n * @param input Protobuf Buffer binary data\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Decoded value\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function assertDecode(input: Uint8Array, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Protocol Buffer Decoder wity type assertion, but not safe.\n *\n * `typia.protobuf.assertDecode()` is a combination function of {@link decode} and\n * {@link assert} function. Therefore, it decodes a binary data of Protocol Buffer to\n * a TypeScript instance, and performs type assertion process. If decoded value is\n * following the type `T`, it returns the decoded value. Otherwise, it throws\n * {@link TypeGuardError} instead.\n *\n * However, note that, this validation is not always safe. It just performs additional\n * type assertion like `number & Minimum<7>` or `string & Format<\"uuid\">` cases,\n * that are represented by [custom tags](https://typia.io/docs/validators/tags).\n * Therefore, when using `typia.protobuf.assertDecode<T>()` function, you have to\n * ensure the type safety by yourself.\n *\n * In such type safety reason, I recommend you to use type safe encode functions.\n *\n * - {@link assertEncode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * @template T Expected type of decoded value\n * @param input Protobuf Buffer binary data\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Decoded value\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function assertDecode<T>(input: Uint8Array, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): Resolved<T>;\n/**\n * > You must configure the generic argument `T`.\n *\n * Protocol Buffer Decoder wity type checking, but not safe.\n *\n * `typia.protobuf.isDecode()` is a combination function of {@link decode} and\n * {@link is} function. Therefore, it decodes a binary data of Protocol Buffer to\n * a TypeScript instance, and performs type checking process. If decoded value is\n * following the type `T`, it returns the decoded value. Otherwise, it returns\n * `null` value instead.\n *\n * However, note that, this validation is not always safe. It just performs additional\n * type checking like `number & Minimum<7>` or `string & Format<\"uuid\">` cases,\n * that are represented by [custom tags](https://typia.io/docs/validators/tags).\n * Therefore, when using `typia.protobuf.isDecode<T>()` function, you have to\n * ensure the type safety by yourself.\n *\n * In such type safety reason, I recommend you to use type safe encode functions.\n *\n * - {@link assertEncode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * @template T Expected type of decoded value\n * @param input Protobuf Buffer binary data\n * @returns Decoded value\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function isDecode(input: Uint8Array): never;\n/**\n * Protocol Buffer Decoder wity type checking, but not safe.\n *\n * `typia.protobuf.isDecode()` is a combination function of {@link decode} and\n * {@link is} function. Therefore, it decodes a binary data of Protocol Buffer to\n * a TypeScript instance, and performs type checking process. If decoded value is\n * following the type `T`, it returns the decoded value. Otherwise, it returns\n * `null` value instead.\n *\n * However, note that, this validation is not always safe. It just performs additional\n * type checking like `number & Minimum<7>` or `string & Format<\"uuid\">` cases,\n * that are represented by [custom tags](https://typia.io/docs/validators/tags).\n * Therefore, when using `typia.protobuf.isDecode<T>()` function, you have to\n * ensure the type safety by yourself.\n *\n * In such type safety reason, I recommend you to use type safe encode functions.\n *\n * - {@link assertEncode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * @template T Expected type of decoded value\n * @param input Protobuf Buffer binary data\n * @returns Decoded value\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function isDecode<T>(input: Uint8Array): Resolved<T> | null;\n/**\n * > You must configure the generic argument `T`.\n *\n * Protocol Buffer Decoder wity type validation, but not safe.\n *\n * `typia.protobuf.validateDecode()` is a combination function of {@link decode} and\n * {@link validate} function. Therefore, it decodes a binary data of Protocol Buffer to\n * a TypeScript instance, and performs type validation process. If decoded value is\n * following the type `T`, it returns the decoded value with\n * {@link IValidation.ISuccess} typed instance. Otherwise, it returns\n * {@link IValidation.IFailure} value instead with detailed error reasons.\n *\n * However, note that, this validation is not always safe. It just performs additional\n * type validation like `number & Minimum<7>` or `string & Format<\"uuid\">` cases,\n * that are represented by [custom tags](https://typia.io/docs/validators/tags).\n * Therefore, when using `typia.protobuf.validateDecode<T>()` function, you have to\n * ensure the type safety by yourself.\n *\n * In such type safety reason, I recommend you to use type safe encode functions.\n *\n * - {@link assertEncode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * @template T Expected type of decoded value\n * @param input Protobuf Buffer binary data\n * @returns Decoded value\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function validateDecode(input: Uint8Array): never;\n/**\n * Protocol Buffer Decoder wity type validation, but not safe.\n *\n * `typia.protobuf.validateDecode()` is a combination function of {@link decode} and\n * {@link validate} function. Therefore, it decodes a binary data of Protocol Buffer to\n * a TypeScript instance, and performs type validation process. If decoded value is\n * following the type `T`, it returns the decoded value with\n * {@link IValidation.ISuccess} typed instance. Otherwise, it returns\n * {@link IValidation.IFailure} value instead with detailed error reasons.\n *\n * However, note that, this validation is not always safe. It just performs additional\n * type validation like `number & Minimum<7>` or `string & Format<\"uuid\">` cases,\n * that are represented by [custom tags](https://typia.io/docs/validators/tags).\n * Therefore, when using `typia.protobuf.validateDecode<T>()` function, you have to\n * ensure the type safety by yourself.\n *\n * In such type safety reason, I recommend you to use type safe encode functions.\n *\n * - {@link assertEncode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * @template T Expected type of decoded value\n * @param input Protobuf Buffer binary data\n * @returns Decoded value\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function validateDecode<T>(input: Uint8Array): IValidation<Resolved<T>>;\n/**\n * Protocol Buffer Encoder.\n *\n * Converts an input value to a binary data of Protocol Buffer format.\n *\n * For reference, this `typia.protobuf.encode()` does not validate the `input` value.\n * It just believes that the `input` value is valid and converts it to a binary data\n * directly. Therefore, if you can't ensure the `input` value type, it would better to\n * call one of below functions instead.\n *\n * - {@link assertEncode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * By the way, you know what? Expression power of Protocol Buffer is not enough strong\n * to fully meet the TypeScript type specs. In such reason, if you put a TypeScript\n * type that is not compatible with Protocol Buffer, this function would throw\n * compilation errors.\n *\n * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)\n *\n * @template T Type of the value input\n * @param input A value to encode\n * @returns Encoded binary data\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function encode<T>(input: T): Uint8Array;\n/**\n * Protocol Buffer Encoder with type assertion.\n *\n * `typia.protobuf.assertEncode()` is a combination function of {@link assert} and\n * {@link encode}.\n *\n * Therefore, it converts an `input` value to a binary data of\n * Protocol Buffer, with type assertion. If `input` value is not valid, it throws\n * {@link TypeGuardError}. Otherwise, there's no problem on the `input` value,\n * Protocol Buffer binary data would be returned.\n *\n * If you can trust `input` value, or want to perform other type of validation, use\n * below functions instead.\n *\n * - {@link encode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * By the way, you know what? Expression power of Protocol Buffer is not enough strong\n * to fully meet the TypeScript type specs. In such reason, if you put a TypeScript\n * type that is not compatible with Protocol Buffer, this function would throw\n * compilation errors.\n *\n * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)\n *\n * @template T Type of the value input\n * @param input A value to encode\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Encoded binary data\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function assertEncode<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): Uint8Array;\n/**\n * Protocol Buffer Encoder with type assertion.\n *\n * `typia.protobuf.assertEncode()` is a combination function of {@link assert} and\n * {@link encode}.\n *\n * Therefore, it converts an `input` value to a binary data of\n * Protocol Buffer, with type assertion. If `input` value is not valid, it throws\n * {@link TypeGuardError}. Otherwise, there's no problem on the `input` value,\n * Protocol Buffer binary data would be returned.\n *\n * If you can trust `input` value, or want to perform other type of validation, use\n * below functions instead.\n *\n * - {@link encode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * By the way, you know what? Expression power of Protocol Buffer is not enough strong\n * to fully meet the TypeScript type specs. In such reason, if you put a TypeScript\n * type that is not compatible with Protocol Buffer, this function would throw\n * compilation errors.\n *\n * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)\n *\n * @template T Type of the value input\n * @param input A value to encode\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Encoded binary data\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function assertEncode<T>(input: unknown, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): Uint8Array;\n/**\n * Protocol Buffer Encoder with type checking.\n *\n * `typia.protobuf.isEncode()` is a combination function of {@link is} and\n * {@link encode}.\n *\n * Therefore, it converts an `input` value to a binary data of\n * Protocol Buffer, with type checking. If `input` value is not valid, it returns\n * `null` value. Otherwise, there's no problem on the `input` value, Protocol\n * Buffer binary data would be returned.\n *\n * If you can trust `input` value, or want to perform other type of validation, use\n * below functions instead.\n *\n * - {@link encode}\n * - {@link assertEncode}\n * - {@link validateEncode}\n *\n * By the way, you know what? Expression power of Protocol Buffer is not enough strong\n * to fully meet the TypeScript type specs. In such reason, if you put a TypeScript\n * type that is not compatible with Protocol Buffer, this function would throw\n * compilation errors.\n *\n * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)\n *\n * @template T Type of the value input\n * @param input A value to encode\n * @returns Encoded binary data\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function isEncode<T>(input: T): Uint8Array | null;\n/**\n * Protocol Buffer Encoder with type checking.\n *\n * `typia.protobuf.isEncode()` is a combination function of {@link is} and\n * {@link encode}.\n *\n * Therefore, it converts an `input` value to a binary data of\n * Protocol Buffer, with type checking. If `input` value is not valid, it returns\n * `null` value. Otherwise, there's no problem on the `input` value, Protocol\n * Buffer binary data would be returned.\n *\n * If you can trust `input` value, or want to perform other type of validation, use\n * below functions instead.\n *\n * - {@link encode}\n * - {@link assertEncode}\n * - {@link validateEncode}\n *\n * By the way, you know what? Expression power of Protocol Buffer is not enough strong\n * to fully meet the TypeScript type specs. In such reason, if you put a TypeScript\n * type that is not compatible with Protocol Buffer, this function would throw\n * compilation errors.\n *\n * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)\n *\n * @template T Type of the value input\n * @param input A value to encode\n * @returns Encoded binary data\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function isEncode<T>(input: unknown): Uint8Array | null;\n/**\n * Protocol Buffer Encoder with type validation.\n *\n * `typia.protobuf.validateEncode()` is a combination function of\n * {@link validation} and {@link encode}.\n *\n * Therefore, it converts an `input` value to a binary data of\n * Protocol Buffer, with type validation. If `input` value is not valid, it returns\n * {@link IValidation.IFailure} value with detailed error reasons. Otherwise, there's\n * no problem on the `input` value, Protocol Buffer binary data would be stored in\n * `data` property of the output {@link IValidation.ISuccess} instance.\n *\n * If you can trust `input` value, or want to perform other type of validation, use\n * below functions instead.\n *\n * - {@link encode}\n * - {@link assertEncode}\n * - {@link isEncode}\n *\n * By the way, you know what? Expression power of Protocol Buffer is not enough strong\n * to fully meet the TypeScript type specs. In such reason, if you put a TypeScript\n * type that is not compatible with Protocol Buffer, this function would throw\n * compilation errors.\n *\n * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)\n *\n * @template T Type of the value input\n * @param input A value to encode\n * @returns Encoded binary data\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function validateEncode<T>(input: T): IValidation<Uint8Array>;\n/**\n * Protocol Buffer Encoder with type validation.\n *\n * `typia.protobuf.validateEncode()` is a combination function of\n * {@link validation} and {@link encode}.\n *\n * Therefore, it converts an `input` value to a binary data of\n * Protocol Buffer, with type validation. If `input` value is not valid, it returns\n * {@link IValidation.IFailure} value with detailed error reasons. Otherwise, there's\n * no problem on the `input` value, Protocol Buffer binary data would be stored in\n * `data` property of the output {@link IValidation.ISuccess} instance.\n *\n * If you can trust `input` value, or want to perform other type of validation, use\n * below functions instead.\n *\n * - {@link encode}\n * - {@link assertEncode}\n * - {@link isEncode}\n *\n * By the way, you know what? Expression power of Protocol Buffer is not enough strong\n * to fully meet the TypeScript type specs. In such reason, if you put a TypeScript\n * type that is not compatible with Protocol Buffer, this function would throw\n * compilation errors.\n *\n * - [Restrictions of Protocol Buffer](https://typia.io/docs/protobuf/message/#restrictions)\n *\n * @template T Type of the value input\n * @param input A value to encode\n * @returns Encoded binary data\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function validateEncode<T>(input: unknown): IValidation<Uint8Array>;\n/**\n * Creates a reusable {@link decode} function.\n *\n * @danger You must configure the generic argument `T`\n * @returns Nothing until you configure the generic argument `T`\n * @throws compile error\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function createDecode(): never;\n/**\n * Creates a reusable {@link decode} function.\n *\n * @template T Target type\n * @returns A reusable `decode` function\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function createDecode<T>(): (input: Uint8Array) => Resolved<T>;\n/**\n * Creates a reusable {@link isDecode} function.\n *\n * @danger You must configure the generic argument `T`\n * @returns Nothing until you configure the generic argument `T`\n * @throws compile error\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function createIsDecode(): never;\n/**\n * Creates a reusable {@link isDecode} function.\n *\n * @template T Target type\n * @returns A reusable `isDecode` function\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function createIsDecode<T>(): (input: Uint8Array) => Resolved<T> | null;\n/**\n * Creates a reusable {@link assertDecode} function.\n *\n * @danger You must configure the generic argument `T`\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws compile error\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function createAssertDecode(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Creates a reusable {@link assertDecode} function.\n *\n * @template T Target type\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns A reusable `assertDecode` function\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function createAssertDecode<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: Uint8Array) => Resolved<T>;\n/**\n * Creates a reusable {@link validateDecode} function.\n *\n * @danger You must configure the generic argument `T`\n * @returns Nothing until you configure the generic argument `T`\n * @throws compile error\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function createValidateDecode(): never;\n/**\n * Creates a reusable {@link validateDecode} function.\n *\n * @template T Target type\n * @returns A reusable `validateDecode` function\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function createValidateDecode<T>(): (input: Uint8Array) => IValidation<Resolved<T>>;\n/**\n * Creates a reusable {@link encode} function.\n *\n * @danger You must configure the generic argument `T`\n * @returns Nothing until you configure the generic argument `T`\n * @throws compile error\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function createEncode(): never;\n/**\n * Creates a reusable {@link encode} function.\n *\n * @template T Target type\n * @returns A reusable `encode` function\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function createEncode<T>(): (input: T) => Uint8Array;\n/**\n * Creates a reusable {@link isEncode} function.\n *\n * @danger You must configure the generic argument `T`\n * @returns Nothing until you configure the generic argument `T`\n * @throws compile error\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function createIsEncode(): never;\n/**\n * Creates a reusable {@link isEncode} function.\n *\n * @template T Target type\n * @returns A reusable `isEncode` function\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function createIsEncode<T>(): (input: T) => Uint8Array | null;\n/**\n * Creates a reusable {@link assertEncode} function.\n *\n * @danger You must configure the generic argument `T`\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws compile error\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function createAssertEncode(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Creates a reusable {@link assertEncode} function.\n *\n * @template T Target type\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns A reusable `assertEncode` function\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function createAssertEncode<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: T) => Uint8Array;\n/**\n * Creates a reusable {@link validateEncode} function.\n *\n * @danger You must configure the generic argument `T`\n * @returns Nothing until you configure the generic argument `T`\n * @throws compile error\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function createValidateEncode(): never;\n/**\n * Creates a reusable {@link validateEncode} function.\n *\n * @template T Target type\n * @returns A reusable `validateEncode` function\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function createValidateEncode<T>(): (input: T) => IValidation<Uint8Array>;\n",
14858
14858
  "node_modules/typia/lib/reflect.d.ts": "import { IMetadataApplication } from \"./schemas/metadata/IMetadataApplication\";\n/**\n * > You must configure the generic argument `Types`.\n *\n * Metadata Application.\n *\n * Creates a Metadata application which contains the metadata and components.\n *\n * Note that, all of the collection types like Array, Tuple and Objects are\n * stored in the {@link IMetadataApplication.components} property. Also, alias\n * types are stored in the {@link IMetadataApplication.aliases} property, too.\n *\n * @template Types Tuple of target types\n * @returns Metadata application\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function metadata(): never;\n/**\n * Metadata Application.\n *\n * Creates a Metadata application which contains the metadata and components.\n *\n * Note that, all of the collection types like Array, Tuple and Objects are\n * stored in the {@link IMetadataApplication.components} property. Also, alias\n * types are stored in the {@link IMetadataApplication.aliases} property, too.\n *\n * @template Types Tuple of target types\n * @returns Metadata application\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare function metadata<Types extends unknown[]>(): IMetadataApplication;\nexport declare function name<T, Regular extends boolean = false>(): string;\nexport declare function name(): never;\n",
14859
14859
  "node_modules/typia/lib/schemas/json/IJsonApplication.d.ts": "import { IJsonSchemaCollection } from \"./IJsonSchemaCollection\";\n/**\n * Collection of JSON schemas.\n *\n * @deprecated Use {@link IJsonSchemaCollection} instead please.\n * This interface type would be changed to {@link ILlmApplication} like\n * structure in the future version (maybe next v8 major update).\n * @template Version Version of the OpenAPI specification.\n * @template Types Original TypeScript types used in the JSON schemas.\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport type IJsonApplication = IJsonSchemaCollection;\nexport declare namespace IJsonApplication {\n type IV3_0 = IJsonSchemaCollection.IV3_0;\n type IV3_1 = IJsonSchemaCollection.IV3_1;\n}\n",
14860
- "node_modules/typia/lib/schemas/json/IJsonSchemaCollection.d.ts": "import type { OpenApi, OpenApiV3 } from \"@samchon/openapi\";\n/**\n * Collection of JSON schemas.\n *\n * @template Version Version of the OpenAPI specification.\n * @template Types Original TypeScript types used in the JSON schemas.\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport type IJsonSchemaCollection<Version extends \"3.0\" | \"3.1\" = \"3.1\", Types = unknown[]> = Version extends \"3.0\" ? IJsonSchemaCollection.IV3_0<Types> : IJsonSchemaCollection.IV3_1<Types>;\nexport declare namespace IJsonSchemaCollection {\n interface IV3_0<Types = unknown[]> {\n version: \"3.0\";\n schemas: OpenApiV3.IJsonSchema[];\n components: OpenApiV3.IComponents;\n __types?: Types | undefined;\n }\n interface IV3_1<Types = unknown[]> {\n version: \"3.1\";\n components: OpenApi.IComponents;\n schemas: OpenApi.IJsonSchema[];\n __types?: Types | undefined;\n }\n}\n",
14861
- "node_modules/typia/lib/schemas/json/IJsonSchemaUnit.d.ts": "import { OpenApi, OpenApiV3 } from \"@samchon/openapi\";\n/**\n * Unit of JSON schema.\n *\n * `IJsonSchemaUnit` is a type that represents a single JSON schema unit\n * containing the schema and components.\n *\n * @template Version Version of the OpenAPI specification\n * @template Type Original TypeScript type used in the JSON schema\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport type IJsonSchemaUnit<Version extends \"3.0\" | \"3.1\" = \"3.1\", Type = unknown> = Version extends \"3.0\" ? IJsonSchemaUnit.IV3_0<Type> : IJsonSchemaUnit.IV3_1<Type>;\nexport declare namespace IJsonSchemaUnit {\n interface IV3_0<Type> {\n version: \"3.0\";\n schema: OpenApiV3.IJsonSchema;\n components: OpenApiV3.IComponents;\n __type?: Type | undefined;\n }\n interface IV3_1<Type> {\n version: \"3.1\";\n schema: OpenApi.IJsonSchema;\n components: OpenApi.IComponents;\n __type?: Type | undefined;\n }\n}\n",
14860
+ "node_modules/typia/lib/schemas/json/IJsonSchemaCollection.d.ts": "import type { OpenApi, OpenApiV3 } from \"@samchon/openapi\";\n/**\n * Collection of JSON schemas with OpenAPI specification support.\n *\n * `IJsonSchemaCollection` represents a comprehensive collection of JSON schemas\n * that can be generated from TypeScript types using the `typia.json.schemas()` function.\n * This interface supports both OpenAPI v3.0 and v3.1 specifications, with the ability\n * to automatically generate appropriate schema definitions based on the specified version.\n *\n * The collection includes:\n * - Generated JSON schemas array containing schema definitions for the specified types\n * - Reusable components that can be referenced across different schemas\n * - Version-specific formatting that adheres to either OpenAPI v3.0 or v3.1 standards\n *\n * Key differences between versions:\n * - OpenAPI v3.0: Uses {@link OpenApiV3.IJsonSchema} format with limited tuple support\n * - OpenAPI v3.1: Uses {@link OpenApi.IJsonSchema} format with full JSON Schema Draft 2020-12 compatibility\n *\n * @template Version The OpenAPI specification version to target (\"3.0\" or \"3.1\").\n * Defaults to \"3.1\" for enhanced JSON Schema compatibility.\n * @template Types Array of original TypeScript types that were analyzed to generate\n * the JSON schemas. This provides type safety and traceability\n * back to the source TypeScript definitions.\n *\n * @example\n * ```typescript\n * // Generate schemas for OpenAPI v3.1 (default)\n * const schemas = typia.json.schemas<[User, Product]>();\n * // Type: IJsonSchemaCollection<\"3.1\", [User, Product]>\n *\n * // Generate schemas for OpenAPI v3.0 (Swagger compatibility)\n * const swaggerSchemas = typia.json.schemas<[User, Product], \"3.0\">();\n * // Type: IJsonSchemaCollection<\"3.0\", [User, Product]>\n * ```\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport type IJsonSchemaCollection<Version extends \"3.0\" | \"3.1\" = \"3.1\", Types = unknown[]> = Version extends \"3.0\" ? IJsonSchemaCollection.IV3_0<Types> : IJsonSchemaCollection.IV3_1<Types>;\nexport declare namespace IJsonSchemaCollection {\n /**\n * JSON Schema collection formatted for OpenAPI v3.0 specification.\n *\n * This interface represents a collection of JSON schemas that comply with\n * OpenAPI v3.0 standards, which are compatible with Swagger tools and\n * legacy OpenAPI implementations. OpenAPI v3.0 has some limitations\n * compared to v3.1, particularly around tuple types and pattern properties.\n *\n * Key characteristics of v3.0:\n * - Cannot express tuple types natively (falls back to array representations)\n * - Cannot express pattern properties in object schemas\n * - Uses nullable property instead of union with null type\n * - Limited JSON Schema Draft compatibility (based on Draft 4)\n *\n * @template Types Array of original TypeScript types used to generate the schemas.\n * This provides compile-time type information about what types\n * were analyzed during schema generation.\n */\n interface IV3_0<Types = unknown[]> {\n /**\n * OpenAPI specification version identifier.\n *\n * Always set to \"3.0\" to indicate this collection uses OpenAPI v3.0\n * schema format and constraints.\n */\n version: \"3.0\";\n /**\n * Array of generated JSON schemas.\n *\n * Contains the actual JSON schema definitions generated from the input TypeScript types.\n * Each schema in this array corresponds to one of the types specified in the `Types`\n * template parameter. The schemas follow OpenAPI v3.0 format and may contain\n * references to components defined in the {@link components} property.\n *\n * Schema references typically use the format: `{ \"$ref\": \"#/components/schemas/TypeName\" }`\n */\n schemas: OpenApiV3.IJsonSchema[];\n /**\n * Reusable schema components for OpenAPI v3.0.\n *\n * Contains reusable schema definitions, security schemes, and other components\n * that can be referenced from the main schemas. This follows the OpenAPI v3.0\n * components structure and enables schema reuse and modularity.\n *\n * Components include:\n * - schemas: Named type definitions that can be referenced via $ref\n * - securitySchemes: Authentication and authorization schemes\n * - parameters: Reusable parameter definitions\n * - requestBodies: Reusable request body definitions\n * - responses: Reusable response definitions\n * - headers: Reusable header definitions\n * - examples: Reusable example definitions\n */\n components: OpenApiV3.IComponents;\n /**\n * Type metadata for compile-time type tracking.\n *\n * This optional property stores the original TypeScript types that were\n * used to generate the JSON schemas. It's primarily used for type safety\n * and doesn't affect runtime behavior. The property is marked as optional\n * and undefined to prevent it from appearing in serialized JSON output.\n *\n * This enables:\n * - Compile-time type checking against the original types\n * - IDE intellisense and autocompletion\n * - Type-safe schema validation and usage\n */\n __types?: Types | undefined;\n }\n /**\n * JSON Schema collection formatted for OpenAPI v3.1 specification.\n *\n * This interface represents a collection of JSON schemas that comply with\n * OpenAPI v3.1 standards, which provide enhanced JSON Schema compatibility\n * and support for modern JSON Schema features. OpenAPI v3.1 is based on\n * JSON Schema Draft 2020-12 and offers significant improvements over v3.0.\n *\n * Key advantages of v3.1:\n * - Full tuple type support with prefixItems\n * - Pattern properties support for dynamic object keys\n * - Proper null type handling via union types\n * - Enhanced JSON Schema Draft 2020-12 compatibility\n * - Better const, enum, and validation support\n *\n * @template Types Array of original TypeScript types used to generate the schemas.\n * This provides compile-time type information about what types\n * were analyzed during schema generation.\n */\n interface IV3_1<Types = unknown[]> {\n /**\n * OpenAPI specification version identifier.\n *\n * Always set to \"3.1\" to indicate this collection uses OpenAPI v3.1\n * schema format with enhanced JSON Schema compatibility.\n */\n version: \"3.1\";\n /**\n * Reusable schema components for OpenAPI v3.1.\n *\n * Contains reusable schema definitions and other components following the\n * OpenAPI v3.1 specification. This structure is similar to v3.0 but supports\n * enhanced JSON Schema features and improved type definitions.\n *\n * Components include:\n * - schemas: Named type definitions with enhanced JSON Schema support\n * - securitySchemes: Authentication and authorization schemes\n *\n * The emended OpenAPI v3.1 format used here removes ambiguous expressions\n * and standardizes certain patterns for better tooling compatibility.\n */\n components: OpenApi.IComponents;\n /**\n * Array of generated JSON schemas with v3.1 enhancements.\n *\n * Contains JSON schema definitions that take advantage of OpenAPI v3.1's\n * enhanced capabilities. These schemas can express more complex TypeScript\n * types accurately, including:\n * - Tuple types using prefixItems\n * - Union types with proper null handling\n * - Complex nested object structures\n * - Pattern-based property definitions\n *\n * Each schema corresponds to one of the input TypeScript types and may\n * reference components defined in the {@link components} property.\n */\n schemas: OpenApi.IJsonSchema[];\n /**\n * Type metadata for compile-time type tracking.\n *\n * This optional property stores the original TypeScript types that were\n * used to generate the JSON schemas. It provides compile-time type safety\n * and enables better development experience without affecting runtime behavior.\n *\n * Benefits include:\n * - Strong typing connection to original TypeScript definitions\n * - Enhanced IDE support and autocompletion\n * - Compile-time validation of schema usage\n * - Type-safe integration with validation libraries\n */\n __types?: Types | undefined;\n }\n}\n",
14861
+ "node_modules/typia/lib/schemas/json/IJsonSchemaUnit.d.ts": "import { OpenApi, OpenApiV3 } from \"@samchon/openapi\";\n/**\n * Single unit of JSON schema representation.\n *\n * `IJsonSchemaUnit` represents a self-contained JSON schema unit that encapsulates\n * a single schema definition along with its associated reusable components. This is\n * typically used when generating a JSON schema for a single TypeScript type, as\n * opposed to a collection of multiple types.\n *\n * Unlike {@link IJsonSchemaCollection} which handles multiple schemas, `IJsonSchemaUnit`\n * focuses on representing a single schema with its dependencies. This makes it ideal\n * for scenarios where you need to work with individual type definitions or when\n * integrating with systems that expect single schema documents.\n *\n * The unit contains:\n * - A single JSON schema definition for the specified TypeScript type\n * - All necessary reusable components that the schema may reference\n * - Version-specific formatting for either OpenAPI v3.0 or v3.1 compatibility\n * - Optional type metadata for compile-time type safety\n *\n * Key differences from collection:\n * - Contains only one schema instead of an array of schemas\n * - More lightweight for single-type use cases\n * - Simpler structure for direct schema consumption\n * - Still maintains full component reference support\n *\n * @template Version The OpenAPI specification version to target (\"3.0\" or \"3.1\").\n * Defaults to \"3.1\" for enhanced JSON Schema Draft 2020-12 compatibility.\n * This determines the schema format, validation capabilities, and\n * available features like tuple support and null type handling.\n * @template Type The original TypeScript type that was analyzed to generate this\n * JSON schema unit. This provides compile-time type safety and\n * enables IDEs to provide better intellisense and validation.\n *\n * @example\n * ```typescript\n * interface User {\n * id: string;\n * name: string;\n * email?: string;\n * }\n *\n * // Generate a single schema unit for OpenAPI v3.1 (default)\n * const userSchema = typia.json.schema<User>();\n * // Type: IJsonSchemaUnit<\"3.1\", User>\n *\n * // Generate a single schema unit for OpenAPI v3.0 (Swagger compatibility)\n * const swaggerUserSchema = typia.json.schema<User, \"3.0\">();\n * // Type: IJsonSchemaUnit<\"3.0\", User>\n * ```\n *\n * @see {@link IJsonSchemaCollection} For handling multiple schemas at once\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport type IJsonSchemaUnit<Version extends \"3.0\" | \"3.1\" = \"3.1\", Type = unknown> = Version extends \"3.0\" ? IJsonSchemaUnit.IV3_0<Type> : IJsonSchemaUnit.IV3_1<Type>;\nexport declare namespace IJsonSchemaUnit {\n /**\n * JSON Schema unit formatted for OpenAPI v3.0 specification.\n *\n * This interface represents a single JSON schema unit that complies with\n * OpenAPI v3.0 standards. It contains one schema definition along with\n * any reusable components that the schema references, formatted according\n * to OpenAPI v3.0 constraints and limitations.\n *\n * OpenAPI v3.0 characteristics affecting this unit:\n * - Schema follows OpenAPI v3.0 JSON Schema subset\n * - Limited support for advanced JSON Schema features\n * - Uses nullable property for optional null values\n * - Cannot natively express tuple types or pattern properties\n * - Based on JSON Schema Draft 4 with OpenAPI-specific extensions\n *\n * Use cases for v3.0:\n * - Integration with legacy Swagger tooling\n * - Compatibility with older OpenAPI implementations\n * - Systems that specifically require OpenAPI v3.0 format\n * - Code generation tools that expect v3.0 schemas\n *\n * @template Type The original TypeScript type represented by this schema unit.\n * Provides compile-time type information and enables type-safe\n * operations on the schema.\n */\n interface IV3_0<Type> {\n /**\n * OpenAPI specification version identifier.\n *\n * Always set to \"3.0\" to indicate this schema unit uses OpenAPI v3.0\n * format and adheres to its specific constraints and limitations.\n */\n version: \"3.0\";\n /**\n * The primary JSON schema definition.\n *\n * Contains the main JSON schema that represents the TypeScript type specified\n * in the `Type` template parameter. This schema follows OpenAPI v3.0 format\n * and may contain references to reusable components defined in the\n * {@link components} property.\n *\n * The schema structure includes:\n * - Type definitions following OpenAPI v3.0 constraints\n * - Property definitions with v3.0-compatible validation rules\n * - References to shared components using $ref syntax\n * - Nullable properties for optional fields that can be null\n *\n * Example schema reference: `{ \"$ref\": \"#/components/schemas/NestedType\" }`\n */\n schema: OpenApiV3.IJsonSchema;\n /**\n * Reusable schema components for OpenAPI v3.0.\n *\n * Contains all reusable schema definitions and components that may be\n * referenced by the main schema. This enables schema modularity and\n * prevents duplication when the same types are used in multiple places\n * within the schema definition.\n *\n * Component categories include:\n * - schemas: Named type definitions for complex objects, arrays, and unions\n * - securitySchemes: Authentication and authorization definitions\n * - parameters: Reusable parameter specifications\n * - requestBodies: Reusable request body definitions\n * - responses: Reusable response specifications\n * - headers: Reusable header definitions\n * - examples: Reusable example values\n *\n * All components follow OpenAPI v3.0 format restrictions and capabilities.\n */\n components: OpenApiV3.IComponents;\n /**\n * Type metadata for compile-time type safety.\n *\n * This optional property maintains a reference to the original TypeScript\n * type that was used to generate this schema unit. It provides compile-time\n * type information without affecting the runtime JSON representation.\n *\n * Benefits of type metadata:\n * - Enables type-safe schema validation and usage\n * - Provides IDE intellisense and autocompletion\n * - Allows compile-time checking of schema operations\n * - Maintains traceability to original TypeScript definitions\n *\n * The property is intentionally marked as optional and undefined to ensure\n * it doesn't appear in serialized JSON output while preserving type information\n * at compile time.\n */\n __type?: Type | undefined;\n }\n /**\n * JSON Schema unit formatted for OpenAPI v3.1 specification.\n *\n * This interface represents a single JSON schema unit that takes advantage\n * of OpenAPI v3.1's enhanced capabilities and improved JSON Schema compatibility.\n * It provides a more feature-rich and accurate representation of TypeScript\n * types compared to the v3.0 format.\n *\n * OpenAPI v3.1 advantages for this unit:\n * - Full JSON Schema Draft 2020-12 compatibility\n * - Native tuple type support using prefixItems\n * - Proper null type handling via union types\n * - Pattern properties for dynamic object keys\n * - Enhanced const, enum, and validation capabilities\n * - Better support for complex nested structures\n *\n * Use cases for v3.1:\n * - Modern OpenAPI implementations and tooling\n * - Systems requiring accurate TypeScript type representation\n * - Applications needing advanced JSON Schema features\n * - New projects without legacy compatibility requirements\n *\n * @template Type The original TypeScript type represented by this schema unit.\n * Enables compile-time type safety and provides enhanced\n * development experience with better IDE support.\n */\n interface IV3_1<Type> {\n /**\n * OpenAPI specification version identifier.\n *\n * Always set to \"3.1\" to indicate this schema unit uses OpenAPI v3.1\n * format with enhanced JSON Schema compatibility and modern features.\n */\n version: \"3.1\";\n /**\n * The primary JSON schema definition with v3.1 enhancements.\n *\n * Contains the main JSON schema that accurately represents the TypeScript\n * type using OpenAPI v3.1's enhanced capabilities. This schema can express\n * complex TypeScript constructs that were not possible or accurate in v3.0.\n *\n * Enhanced schema features include:\n * - Tuple types using prefixItems for exact array structure\n * - Union types with proper null handling via oneOf\n * - Const values for literal types\n * - Pattern properties for Record<string, T> types\n * - Advanced validation constraints and metadata\n * - Recursive type definitions with proper $ref handling\n *\n * The schema follows the emended OpenAPI v3.1 format used by typia,\n * which removes ambiguous expressions while maintaining full compatibility.\n */\n schema: OpenApi.IJsonSchema;\n /**\n * Reusable schema components for OpenAPI v3.1.\n *\n * Contains reusable schema definitions and components that leverage\n * OpenAPI v3.1's enhanced capabilities. These components provide better\n * type representation and more accurate schema definitions compared to v3.0.\n *\n * Enhanced component features:\n * - schemas: More accurate type definitions with v3.1 JSON Schema features\n * - securitySchemes: Enhanced authentication scheme definitions\n * - Better support for complex nested references\n * - Improved handling of recursive and circular type dependencies\n *\n * The components structure follows the emended OpenAPI v3.1 specification\n * that simplifies certain patterns while maintaining full expressiveness.\n */\n components: OpenApi.IComponents;\n /**\n * Type metadata for enhanced compile-time type safety.\n *\n * This optional property preserves the original TypeScript type information\n * for compile-time type checking and enhanced development experience. It\n * enables type-safe operations and better IDE support without affecting\n * the runtime JSON schema representation.\n *\n * Enhanced type safety features:\n * - Strong typing connection to original TypeScript definitions\n * - Better IDE intellisense and error detection\n * - Compile-time validation of schema usage patterns\n * - Type-safe integration with validation and serialization libraries\n * - Enhanced debugging and development experience\n *\n * The property remains optional and undefined to maintain clean JSON\n * serialization while preserving valuable compile-time information.\n */\n __type?: Type | undefined;\n }\n}\n",
14862
14862
  "node_modules/typia/lib/schemas/json/__IJsonApplication.d.ts": "import { OpenApi, OpenApiV3 } from \"@samchon/openapi\";\nexport interface __IJsonApplication<Version extends \"3.0\" | \"3.1\" = \"3.1\", App extends any = object> {\n version: Version;\n components: __IJsonApplication.IComponents<__IJsonApplication.Schema<Version>>;\n functions: __IJsonApplication.IFunction<__IJsonApplication.Schema<Version>>[];\n __application?: App | undefined;\n}\nexport declare namespace __IJsonApplication {\n type Schema<Version extends \"3.0\" | \"3.1\"> = Version extends \"3.1\" ? OpenApi.IJsonSchema : OpenApiV3.IJsonSchema;\n interface IComponents<Schema extends OpenApi.IJsonSchema | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema> {\n schemas?: Record<string, Schema>;\n }\n interface IFunction<Schema extends OpenApi.IJsonSchema | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema> {\n async: boolean;\n name: string;\n parameters: IParameter<Schema>[];\n output: IOutput<Schema> | undefined;\n summary?: string | undefined;\n description?: string | undefined;\n deprecated?: boolean;\n tags?: string[];\n }\n interface IParameter<Schema extends OpenApi.IJsonSchema | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema> {\n name: string;\n required: boolean;\n schema: Schema;\n title?: string | undefined;\n description?: string | undefined;\n }\n interface IOutput<Schema extends OpenApi.IJsonSchema | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema> {\n schema: Schema;\n required: boolean;\n description?: string | undefined;\n }\n}\n",
14863
14863
  "node_modules/typia/lib/schemas/metadata/IJsDocTagInfo.d.ts": "export interface IJsDocTagInfo {\n name: string;\n text?: IJsDocTagInfo.IText[];\n}\nexport declare namespace IJsDocTagInfo {\n interface IText {\n text: string;\n kind: string;\n }\n}\n",
14864
14864
  "node_modules/typia/lib/schemas/metadata/IMetadata.d.ts": "import { IMetadataAlias } from \"./IMetadataAlias\";\nimport { IMetadataArray } from \"./IMetadataArray\";\nimport { IMetadataAtomic } from \"./IMetadataAtomic\";\nimport { IMetadataConstant } from \"./IMetadataConstant\";\nimport { IMetadataEscaped } from \"./IMetadataEscaped\";\nimport { IMetadataFunction } from \"./IMetadataFunction\";\nimport { IMetadataMap } from \"./IMetadataMap\";\nimport { IMetadataNative } from \"./IMetadataNative\";\nimport { IMetadataObject } from \"./IMetadataObject\";\nimport { IMetadataSet } from \"./IMetadataSet\";\nimport { IMetadataTemplate } from \"./IMetadataTemplate\";\nimport { IMetadataTuple } from \"./IMetadataTuple\";\nexport interface IMetadata {\n any: boolean;\n required: boolean;\n optional: boolean;\n nullable: boolean;\n functions: IMetadataFunction[];\n atomics: IMetadataAtomic[];\n constants: IMetadataConstant[];\n templates: IMetadataTemplate[];\n escaped: IMetadataEscaped | null;\n rest: IMetadata | null;\n arrays: IMetadataArray[];\n tuples: IMetadataTuple[];\n objects: IMetadataObject[];\n aliases: IMetadataAlias[];\n natives: IMetadataNative[];\n sets: IMetadataSet[];\n maps: IMetadataMap[];\n}\n",
@@ -15065,7 +15065,7 @@
15065
15065
  "node_modules/typia/lib/utils/ProtobufNameEncoder.d.ts": "export declare namespace ProtobufNameEncoder {\n const encode: (str: string) => string;\n const decode: (str: string) => string;\n}\n",
15066
15066
  "node_modules/typia/lib/utils/Singleton.d.ts": "export declare class Singleton<T, Args extends any[] = []> {\n private readonly closure_;\n private value_;\n constructor(closure: (...args: Args) => T);\n get(...args: Args): T;\n}\n",
15067
15067
  "node_modules/typia/lib/utils/StringUtil.d.ts": "export declare namespace StringUtil {\n const capitalize: (str: string) => string;\n const escapeDuplicate: (props: {\n keep: string[];\n input: string;\n escape?: (str: string) => string;\n }) => string;\n}\n",
15068
- "node_modules/typia/package.json": "{\n \"name\": \"typia\",\n \"version\": \"9.3.1\",\n \"description\": \"Superfast runtime validators with only one line\",\n \"main\": \"lib/index.js\",\n \"typings\": \"lib/index.d.ts\",\n \"module\": \"lib/index.mjs\",\n \"bin\": {\n \"typia\": \"./lib/executable/typia.js\"\n },\n \"tsp\": {\n \"tscOptions\": {\n \"parseAllJsDoc\": true\n }\n },\n \"scripts\": {\n \"test\": \"ts-node deploy --tag test\",\n \"test:template\": \"npm run --tag test --template\",\n \"-------------------------------------------------\": \"\",\n \"build\": \"rimraf lib && tsc && rollup -c\",\n \"dev\": \"rimraf lib && tsc --watch\",\n \"dev:errors\": \"tsc --project tsconfig.errors.json --watch\",\n \"eslint\": \"eslint\",\n \"eslint:fix\": \"eslint --fix\",\n \"prettier\": \"prettier src --check\",\n \"prettier:fix\": \"prettier src --write\",\n \"------------------------------------------------\": \"\",\n \"package:latest\": \"ts-node deploy --tag latest\",\n \"package:next\": \"ts-node deploy --tag next\",\n \"package:patch\": \"ts-node deploy --tag patch\",\n \"package:tgz\": \"ts-node deploy/tgz.ts\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/typia\"\n },\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/typia/issues\"\n },\n \"homepage\": \"https://typia.io\",\n \"dependencies\": {\n \"@samchon/openapi\": \"^4.3.1\",\n \"@standard-schema/spec\": \"^1.0.0\",\n \"commander\": \"^10.0.0\",\n \"comment-json\": \"^4.2.3\",\n \"inquirer\": \"^8.2.5\",\n \"package-manager-detector\": \"^0.2.0\",\n \"randexp\": \"^0.5.3\"\n },\n \"peerDependencies\": {\n \"@samchon/openapi\": \">=4.3.1 <5.0.0\",\n \"typescript\": \">=4.8.0 <5.9.0\"\n },\n \"devDependencies\": {\n \"@rollup/plugin-commonjs\": \"^26.0.1\",\n \"@rollup/plugin-node-resolve\": \"^15.2.3\",\n \"@rollup/plugin-typescript\": \"^11.1.6\",\n \"@trivago/prettier-plugin-sort-imports\": \"^4.3.0\",\n \"@types/inquirer\": \"^8.2.5\",\n \"@types/node\": \"^18.15.12\",\n \"@types/ts-expose-internals\": \"npm:ts-expose-internals@5.5.4\",\n \"@typescript-eslint/eslint-plugin\": \"^8.1.0\",\n \"@typescript-eslint/parser\": \"^8.1.0\",\n \"chalk\": \"^4.0.0\",\n \"eslint-plugin-deprecation\": \"^3.0.0\",\n \"prettier\": \"^3.2.5\",\n \"rimraf\": \"^5.0.5\",\n \"rollup\": \"^4.18.0\",\n \"rollup-plugin-auto-external\": \"^2.0.0\",\n \"rollup-plugin-node-externals\": \"^8.0.0\",\n \"suppress-warnings\": \"^1.0.2\",\n \"tinyglobby\": \"^0.2.12\",\n \"ts-node\": \"^10.9.2\",\n \"typescript\": \"~5.8.3\"\n },\n \"sideEffects\": false,\n \"files\": [\n \"LICENSE\",\n \"README.md\",\n \"package.json\",\n \"lib\",\n \"src\"\n ],\n \"keywords\": [\n \"fast\",\n \"json\",\n \"stringify\",\n \"typescript\",\n \"transform\",\n \"ajv\",\n \"io-ts\",\n \"zod\",\n \"schema\",\n \"json-schema\",\n \"generator\",\n \"assert\",\n \"clone\",\n \"is\",\n \"validate\",\n \"equal\",\n \"runtime\",\n \"type\",\n \"typebox\",\n \"checker\",\n \"validator\",\n \"safe\",\n \"parse\",\n \"prune\",\n \"random\",\n \"protobuf\",\n \"llm\",\n \"llm-function-calling\",\n \"structured-output\",\n \"openai\",\n \"chatgpt\",\n \"claude\",\n \"gemini\",\n \"llama\"\n ]\n}",
15068
+ "node_modules/typia/package.json": "{\n \"name\": \"typia\",\n \"version\": \"9.4.0\",\n \"description\": \"Superfast runtime validators with only one line\",\n \"main\": \"lib/index.js\",\n \"typings\": \"lib/index.d.ts\",\n \"module\": \"lib/index.mjs\",\n \"bin\": {\n \"typia\": \"./lib/executable/typia.js\"\n },\n \"tsp\": {\n \"tscOptions\": {\n \"parseAllJsDoc\": true\n }\n },\n \"scripts\": {\n \"test\": \"ts-node deploy --tag test\",\n \"test:template\": \"npm run --tag test --template\",\n \"-------------------------------------------------\": \"\",\n \"build\": \"rimraf lib && tsc && rollup -c\",\n \"dev\": \"rimraf lib && tsc --watch\",\n \"dev:errors\": \"tsc --project tsconfig.errors.json --watch\",\n \"eslint\": \"eslint\",\n \"eslint:fix\": \"eslint --fix\",\n \"prettier\": \"prettier src --check\",\n \"prettier:fix\": \"prettier src --write\",\n \"------------------------------------------------\": \"\",\n \"package:latest\": \"ts-node deploy --tag latest\",\n \"package:next\": \"ts-node deploy --tag next\",\n \"package:patch\": \"ts-node deploy --tag patch\",\n \"package:tgz\": \"ts-node deploy/tgz.ts\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/typia\"\n },\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/typia/issues\"\n },\n \"homepage\": \"https://typia.io\",\n \"dependencies\": {\n \"@samchon/openapi\": \"^4.4.1\",\n \"@standard-schema/spec\": \"^1.0.0\",\n \"commander\": \"^10.0.0\",\n \"comment-json\": \"^4.2.3\",\n \"inquirer\": \"^8.2.5\",\n \"package-manager-detector\": \"^0.2.0\",\n \"randexp\": \"^0.5.3\"\n },\n \"peerDependencies\": {\n \"@samchon/openapi\": \">=4.4.1 <5.0.0\",\n \"typescript\": \">=4.8.0 <5.9.0\"\n },\n \"devDependencies\": {\n \"@rollup/plugin-commonjs\": \"^26.0.1\",\n \"@rollup/plugin-node-resolve\": \"^15.2.3\",\n \"@rollup/plugin-typescript\": \"^11.1.6\",\n \"@trivago/prettier-plugin-sort-imports\": \"^4.3.0\",\n \"@types/inquirer\": \"^8.2.5\",\n \"@types/node\": \"^18.15.12\",\n \"@types/ts-expose-internals\": \"npm:ts-expose-internals@5.5.4\",\n \"@typescript-eslint/eslint-plugin\": \"^8.1.0\",\n \"@typescript-eslint/parser\": \"^8.1.0\",\n \"chalk\": \"^4.0.0\",\n \"eslint-plugin-deprecation\": \"^3.0.0\",\n \"prettier\": \"^3.2.5\",\n \"rimraf\": \"^5.0.5\",\n \"rollup\": \"^4.18.0\",\n \"rollup-plugin-auto-external\": \"^2.0.0\",\n \"rollup-plugin-node-externals\": \"^8.0.0\",\n \"suppress-warnings\": \"^1.0.2\",\n \"tinyglobby\": \"^0.2.12\",\n \"ts-node\": \"^10.9.2\",\n \"typescript\": \"~5.8.3\"\n },\n \"sideEffects\": false,\n \"files\": [\n \"LICENSE\",\n \"README.md\",\n \"package.json\",\n \"lib\",\n \"src\"\n ],\n \"keywords\": [\n \"fast\",\n \"json\",\n \"stringify\",\n \"typescript\",\n \"transform\",\n \"ajv\",\n \"io-ts\",\n \"zod\",\n \"schema\",\n \"json-schema\",\n \"generator\",\n \"assert\",\n \"clone\",\n \"is\",\n \"validate\",\n \"equal\",\n \"runtime\",\n \"type\",\n \"typebox\",\n \"checker\",\n \"validator\",\n \"safe\",\n \"parse\",\n \"prune\",\n \"random\",\n \"protobuf\",\n \"llm\",\n \"llm-function-calling\",\n \"structured-output\",\n \"openai\",\n \"chatgpt\",\n \"claude\",\n \"gemini\",\n \"llama\"\n ]\n}",
15069
15069
  "node_modules/uid/index.d.ts": "/**\n * Produce a UID of desired length.\n * @NOTE Relies on a hexadecimal alphabet (A-E, 0-9).\n * @param {number} [length] Defaults to `11`\n */\nexport function uid(length?: number): string;\n",
15070
15070
  "node_modules/uid/package.json": "{\n \"name\": \"uid\",\n \"version\": \"2.0.2\",\n \"repository\": \"lukeed/uid\",\n \"description\": \"A tiny (130B to 205B) and fast utility to randomize unique IDs of fixed length\",\n \"unpkg\": \"dist/index.min.js\",\n \"module\": \"dist/index.mjs\",\n \"main\": \"dist/index.js\",\n \"types\": \"index.d.ts\",\n \"license\": \"MIT\",\n \"author\": {\n \"name\": \"Luke Edwards\",\n \"email\": \"luke.edwards05@gmail.com\",\n \"url\": \"https://lukeed.com\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"scripts\": {\n \"build\": \"bundt\",\n \"test\": \"uvu -r esm test -i collisions\"\n },\n \"exports\": {\n \".\": {\n \"types\": \"./index.d.ts\",\n \"import\": \"./dist/index.mjs\",\n \"require\": \"./dist/index.js\"\n },\n \"./single\": {\n \"types\": \"./single/index.d.ts\",\n \"import\": \"./single/index.mjs\",\n \"require\": \"./single/index.js\"\n },\n \"./secure\": {\n \"types\": \"./secure/index.d.ts\",\n \"import\": \"./secure/index.mjs\",\n \"require\": \"./secure/index.js\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"files\": [\n \"*.d.ts\",\n \"single\",\n \"secure\",\n \"dist\"\n ],\n \"keywords\": [\n \"id\",\n \"uid\",\n \"uuid\",\n \"random\",\n \"generate\",\n \"secure\",\n \"crypto\",\n \"foid\"\n ],\n \"modes\": {\n \"secure\": \"src/secure.js\",\n \"default\": \"src/index.js\",\n \"single\": \"src/single.js\"\n },\n \"dependencies\": {\n \"@lukeed/csprng\": \"^1.0.0\"\n },\n \"devDependencies\": {\n \"bundt\": \"1.1.1\",\n \"esm\": \"3.2.25\",\n \"uvu\": \"0.3.4\"\n }\n}\n",
15071
15071
  "node_modules/uid/secure/index.d.ts": "/**\n * Produce a cryptographically secure (CSPRNG) UID of desired length using the current environment's `crypto` module.\n * @NOTE Relies on a hexadecimal alphabet (A-E, 0-9).\n * @param {number} [length] Defaults to `11`\n */\nexport function uid(length?: number): string;\n",