@typia/utils 12.0.0-dev.20260311 → 12.0.0-dev.20260312-2

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 (60) hide show
  1. package/lib/converters/OpenApiConverter.d.ts +54 -16
  2. package/lib/converters/OpenApiConverter.js +36 -15
  3. package/lib/converters/OpenApiConverter.js.map +1 -1
  4. package/lib/converters/OpenApiConverter.mjs +36 -15
  5. package/lib/converters/OpenApiConverter.mjs.map +1 -1
  6. package/lib/converters/internal/OpenApiV3Downgrader.js +38 -18
  7. package/lib/converters/internal/OpenApiV3Downgrader.js.map +1 -1
  8. package/lib/converters/internal/OpenApiV3Downgrader.mjs +50 -27
  9. package/lib/converters/internal/OpenApiV3Downgrader.mjs.map +1 -1
  10. package/lib/converters/internal/OpenApiV3Upgrader.js +36 -18
  11. package/lib/converters/internal/OpenApiV3Upgrader.js.map +1 -1
  12. package/lib/converters/internal/OpenApiV3Upgrader.mjs +50 -29
  13. package/lib/converters/internal/OpenApiV3Upgrader.mjs.map +1 -1
  14. package/lib/converters/internal/OpenApiV3_1Downgrader.d.ts +10 -0
  15. package/lib/converters/internal/OpenApiV3_1Downgrader.js +191 -0
  16. package/lib/converters/internal/OpenApiV3_1Downgrader.js.map +1 -0
  17. package/lib/converters/internal/OpenApiV3_1Downgrader.mjs +239 -0
  18. package/lib/converters/internal/OpenApiV3_1Downgrader.mjs.map +1 -0
  19. package/lib/converters/internal/OpenApiV3_1Upgrader.js +38 -20
  20. package/lib/converters/internal/OpenApiV3_1Upgrader.js.map +1 -1
  21. package/lib/converters/internal/OpenApiV3_1Upgrader.mjs +51 -29
  22. package/lib/converters/internal/OpenApiV3_1Upgrader.mjs.map +1 -1
  23. package/lib/converters/internal/OpenApiV3_2Upgrader.d.ts +16 -0
  24. package/lib/converters/internal/OpenApiV3_2Upgrader.js +204 -0
  25. package/lib/converters/internal/OpenApiV3_2Upgrader.js.map +1 -0
  26. package/lib/converters/internal/OpenApiV3_2Upgrader.mjs +243 -0
  27. package/lib/converters/internal/OpenApiV3_2Upgrader.mjs.map +1 -0
  28. package/lib/converters/internal/SwaggerV2Downgrader.js +38 -18
  29. package/lib/converters/internal/SwaggerV2Downgrader.js.map +1 -1
  30. package/lib/converters/internal/SwaggerV2Downgrader.mjs +50 -27
  31. package/lib/converters/internal/SwaggerV2Downgrader.mjs.map +1 -1
  32. package/lib/converters/internal/SwaggerV2Upgrader.js +37 -19
  33. package/lib/converters/internal/SwaggerV2Upgrader.js.map +1 -1
  34. package/lib/converters/internal/SwaggerV2Upgrader.mjs +50 -29
  35. package/lib/converters/internal/SwaggerV2Upgrader.mjs.map +1 -1
  36. package/lib/http/internal/HttpMigrateApplicationComposer.js +1 -1
  37. package/lib/http/internal/HttpMigrateApplicationComposer.js.map +1 -1
  38. package/lib/http/internal/HttpMigrateApplicationComposer.mjs +1 -1
  39. package/lib/http/internal/HttpMigrateApplicationComposer.mjs.map +1 -1
  40. package/lib/http/internal/HttpMigrateRouteComposer.d.ts +1 -1
  41. package/lib/utils/LlmJson.d.ts +19 -1
  42. package/lib/utils/LlmJson.js +27 -0
  43. package/lib/utils/LlmJson.js.map +1 -1
  44. package/lib/utils/LlmJson.mjs +27 -0
  45. package/lib/utils/LlmJson.mjs.map +1 -1
  46. package/package.json +2 -2
  47. package/src/converters/LlmSchemaConverter.ts +617 -617
  48. package/src/converters/OpenApiConverter.ts +375 -285
  49. package/src/converters/internal/OpenApiV3Downgrader.ts +381 -355
  50. package/src/converters/internal/OpenApiV3Upgrader.ts +494 -470
  51. package/src/converters/internal/OpenApiV3_1Downgrader.ts +318 -0
  52. package/src/converters/internal/OpenApiV3_1Upgrader.ts +710 -685
  53. package/src/converters/internal/OpenApiV3_2Upgrader.ts +342 -0
  54. package/src/converters/internal/SwaggerV2Downgrader.ts +450 -424
  55. package/src/converters/internal/SwaggerV2Upgrader.ts +547 -523
  56. package/src/http/HttpLlm.ts +166 -166
  57. package/src/http/internal/HttpLlmApplicationComposer.ts +360 -360
  58. package/src/http/internal/HttpMigrateApplicationComposer.ts +56 -56
  59. package/src/http/internal/HttpMigrateRouteComposer.ts +505 -505
  60. package/src/utils/LlmJson.ts +173 -141
@@ -1,4 +1,4 @@
1
- import { IJsonParseResult, ILlmSchema, IValidation } from "@typia/interface";
1
+ import { IJsonParseResult, ILlmSchema, ILlmStructuredOutput, IValidation } from "@typia/interface";
2
2
  /**
3
3
  * JSON utilities for LLM function calling.
4
4
  *
@@ -84,4 +84,22 @@ export declare namespace LlmJson {
84
84
  * @returns Validator function that checks data against the schema
85
85
  */
86
86
  function validate(parameters: ILlmSchema.IParameters, equals?: boolean | undefined): (value: unknown) => IValidation<unknown>;
87
+ /**
88
+ * Convert LLM parameters schema to structured output interface.
89
+ *
90
+ * Creates an {@link ILlmStructuredOutput} containing everything needed for
91
+ * handling LLM structured outputs: the parameters schema for prompting, and
92
+ * functions for parsing, coercing, and validating responses.
93
+ *
94
+ * This is useful when you have a parameters schema (e.g., from
95
+ * `typia.llm.parameters()`) and need the full structured output interface
96
+ * with all utility functions.
97
+ *
98
+ * @template T The expected output type
99
+ * @param parameters LLM parameters schema
100
+ * @param equals If `true`, reject extraneous properties not defined in the
101
+ * schema during validation. Otherwise, extra properties are ignored.
102
+ * @returns Structured output interface with parse, coerce, and validate
103
+ */
104
+ function structuredOutput<T>(parameters: ILlmSchema.IParameters, equals?: boolean | undefined): ILlmStructuredOutput<T>;
87
105
  }
@@ -125,5 +125,32 @@ var LlmJson;
125
125
  });
126
126
  }
127
127
  LlmJson.validate = validate;
128
+ /**
129
+ * Convert LLM parameters schema to structured output interface.
130
+ *
131
+ * Creates an {@link ILlmStructuredOutput} containing everything needed for
132
+ * handling LLM structured outputs: the parameters schema for prompting, and
133
+ * functions for parsing, coercing, and validating responses.
134
+ *
135
+ * This is useful when you have a parameters schema (e.g., from
136
+ * `typia.llm.parameters()`) and need the full structured output interface
137
+ * with all utility functions.
138
+ *
139
+ * @template T The expected output type
140
+ * @param parameters LLM parameters schema
141
+ * @param equals If `true`, reject extraneous properties not defined in the
142
+ * schema during validation. Otherwise, extra properties are ignored.
143
+ * @returns Structured output interface with parse, coerce, and validate
144
+ */
145
+ function structuredOutput(parameters, equals) {
146
+ const validator = validate(parameters, equals);
147
+ return {
148
+ parameters,
149
+ parse: (str) => parse(str, parameters),
150
+ coerce: (input) => coerce(input, parameters),
151
+ validate: (input) => validator(input),
152
+ };
153
+ }
154
+ LlmJson.structuredOutput = structuredOutput;
128
155
  })(LlmJson || (exports.LlmJson = LlmJson = {}));
129
156
  //# sourceMappingURL=LlmJson.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LlmJson.js","sourceRoot":"","sources":["../../src/utils/LlmJson.ts"],"names":[],"mappings":";;;AAOA,8CAAmD;AACnD,8CAAiD;AACjD,sEAAmE;AACnE,kEAA+D;AAC/D,sFAAmF;AAEnF;;;;;;;;GAQG;AACH,IAAiB,OAAO,CAsHvB;AAtHD,WAAiB,OAAO;IACtB;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAgB,MAAM,CACpB,KAAc,EACd,UAAkC;QAElC,OAAO,IAAA,uCAAkB,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC/C,CAAC;IALe,cAAM,SAKrB,CAAA;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAgB,KAAK,CACnB,KAAa,EACb,UAAmC;QAEnC,MAAM,MAAM,GAAwB,IAAA,mCAAgB,EAAI,KAAK,CAAC,CAAC;QAE/D,2EAA2E;QAC3E,IAAI,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,IAAA,uCAAkB,EAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAM;aACvD,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAde,aAAK,QAcpB,CAAA;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAgB,SAAS,CAAC,OAA6B;QACrD,OAAO,IAAA,uDAA0B,EAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAFe,iBAAS,YAExB,CAAA;IAED;;;;;;;;;;OAUG;IACH,SAAgB,QAAQ,CACtB,UAAkC,EAClC,MAA4B;QAE5B,MAAM,UAAU,GAAwB;YACtC,OAAO,EAAE,EAAE;SACZ,CAAC;QACF,MAAM,MAAM,GAAwB,+BAAkB,CAAC,MAAM,CAAC;YAC5D,UAAU;YACV,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,UAAU,CAAC,KAAK;SACxB,CAAC,CAAC;QACH,OAAO,6BAAgB,CAAC,MAAM,CAAC;YAC7B,UAAU;YACV,MAAM;YACN,QAAQ,EAAE,IAAI;YACd,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAlBe,gBAAQ,WAkBvB,CAAA;AACH,CAAC,EAtHgB,OAAO,uBAAP,OAAO,QAsHvB"}
1
+ {"version":3,"file":"LlmJson.js","sourceRoot":"","sources":["../../src/utils/LlmJson.ts"],"names":[],"mappings":";;;AAQA,8CAAmD;AACnD,8CAAiD;AACjD,sEAAmE;AACnE,kEAA+D;AAC/D,sFAAmF;AAEnF;;;;;;;;GAQG;AACH,IAAiB,OAAO,CAqJvB;AArJD,WAAiB,OAAO;IACtB;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAgB,MAAM,CACpB,KAAc,EACd,UAAkC;QAElC,OAAO,IAAA,uCAAkB,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC/C,CAAC;IALe,cAAM,SAKrB,CAAA;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAgB,KAAK,CACnB,KAAa,EACb,UAAmC;QAEnC,MAAM,MAAM,GAAwB,IAAA,mCAAgB,EAAI,KAAK,CAAC,CAAC;QAE/D,2EAA2E;QAC3E,IAAI,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,IAAA,uCAAkB,EAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAM;aACvD,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAde,aAAK,QAcpB,CAAA;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAgB,SAAS,CAAC,OAA6B;QACrD,OAAO,IAAA,uDAA0B,EAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAFe,iBAAS,YAExB,CAAA;IAED;;;;;;;;;;OAUG;IACH,SAAgB,QAAQ,CACtB,UAAkC,EAClC,MAA4B;QAE5B,MAAM,UAAU,GAAwB;YACtC,OAAO,EAAE,EAAE;SACZ,CAAC;QACF,MAAM,MAAM,GAAwB,+BAAkB,CAAC,MAAM,CAAC;YAC5D,UAAU;YACV,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,UAAU,CAAC,KAAK;SACxB,CAAC,CAAC;QACH,OAAO,6BAAgB,CAAC,MAAM,CAAC;YAC7B,UAAU;YACV,MAAM;YACN,QAAQ,EAAE,IAAI;YACd,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAlBe,gBAAQ,WAkBvB,CAAA;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,SAAgB,gBAAgB,CAC9B,UAAkC,EAClC,MAA4B;QAE5B,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC/C,OAAO;YACL,UAAU;YACV,KAAK,EAAE,CAAC,GAAW,EAAuB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC;YACnE,MAAM,EAAE,CAAC,KAAc,EAAK,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC;YACxD,QAAQ,EAAE,CAAC,KAAc,EAAkB,EAAE,CAC3C,SAAS,CAAC,KAAK,CAAmB;SACrC,CAAC;IACJ,CAAC;IAZe,wBAAgB,mBAY/B,CAAA;AACH,CAAC,EArJgB,OAAO,uBAAP,OAAO,QAqJvB"}
@@ -130,6 +130,33 @@ var LlmJson;
130
130
  });
131
131
  }
132
132
  LlmJson.validate = validate;
133
+ /**
134
+ * Convert LLM parameters schema to structured output interface.
135
+ *
136
+ * Creates an {@link ILlmStructuredOutput} containing everything needed for
137
+ * handling LLM structured outputs: the parameters schema for prompting, and
138
+ * functions for parsing, coercing, and validating responses.
139
+ *
140
+ * This is useful when you have a parameters schema (e.g., from
141
+ * `typia.llm.parameters()`) and need the full structured output interface
142
+ * with all utility functions.
143
+ *
144
+ * @template T The expected output type
145
+ * @param parameters LLM parameters schema
146
+ * @param equals If `true`, reject extraneous properties not defined in the
147
+ * schema during validation. Otherwise, extra properties are ignored.
148
+ * @returns Structured output interface with parse, coerce, and validate
149
+ */
150
+ function structuredOutput(parameters, equals) {
151
+ const validator = validate(parameters, equals);
152
+ return {
153
+ parameters,
154
+ parse: (str) => parse(str, parameters),
155
+ coerce: (input) => coerce(input, parameters),
156
+ validate: (input) => validator(input),
157
+ };
158
+ }
159
+ LlmJson.structuredOutput = structuredOutput;
133
160
  })(LlmJson || (LlmJson = {}));
134
161
 
135
162
  export { LlmJson };
@@ -1 +1 @@
1
- {"version":3,"file":"LlmJson.mjs","sources":["../../src/utils/LlmJson.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;AAaA;;;;;;;;AAQG;AACG,IAAW;AAAjB,CAAA,UAAiB,OAAO,EAAA;AACtB;;;;;;;;;;;;;;;;;;AAkBG;AACH,IAAA,SAAgB,MAAM,CACpB,KAAc,EACd,UAAkC,EAAA;AAElC,QAAA,OAAO,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC;IAC9C;AALgB,IAAA,OAAA,CAAA,MAAM,SAKrB;AAED;;;;;;;;;;;;;;;;;;;AAmBG;AACH,IAAA,SAAgB,KAAK,CACnB,KAAa,EACb,UAAmC,EAAA;AAEnC,QAAA,MAAM,MAAM,GAAwB,gBAAgB,CAAI,KAAK,CAAC;;QAG9D,IAAI,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,EAAE;YAC9C,OAAO;AACL,gBAAA,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAM;aACvD;QACH;AACA,QAAA,OAAO,MAAM;IACf;AAdgB,IAAA,OAAA,CAAA,KAAK,QAcpB;AAED;;;;;;;;;;;;;;;;;;;;AAoBG;IACH,SAAgB,SAAS,CAAC,OAA6B,EAAA;AACrD,QAAA,OAAO,0BAA0B,CAAC,OAAO,CAAC;IAC5C;AAFgB,IAAA,OAAA,CAAA,SAAS,YAExB;AAED;;;;;;;;;;AAUG;AACH,IAAA,SAAgB,QAAQ,CACtB,UAAkC,EAClC,MAA4B,EAAA;AAE5B,QAAA,MAAM,UAAU,GAAwB;AACtC,YAAA,OAAO,EAAE,EAAE;SACZ;AACD,QAAA,MAAM,MAAM,GAAwB,kBAAkB,CAAC,MAAM,CAAC;YAC5D,UAAU;AACV,YAAA,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,UAAU,CAAC,KAAK;AACxB,SAAA,CAAC;QACF,OAAO,gBAAgB,CAAC,MAAM,CAAC;YAC7B,UAAU;YACV,MAAM;AACN,YAAA,QAAQ,EAAE,IAAI;YACd,MAAM;AACP,SAAA,CAAC;IACJ;AAlBgB,IAAA,OAAA,CAAA,QAAQ,WAkBvB;AACH,CAAC,EAtHgB,OAAO,KAAP,OAAO,GAAA,EAAA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"LlmJson.mjs","sources":["../../src/utils/LlmJson.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;AAcA;;;;;;;;AAQG;AACG,IAAW;AAAjB,CAAA,UAAiB,OAAO,EAAA;AACtB;;;;;;;;;;;;;;;;;;AAkBG;AACH,IAAA,SAAgB,MAAM,CACpB,KAAc,EACd,UAAkC,EAAA;AAElC,QAAA,OAAO,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC;IAC9C;AALgB,IAAA,OAAA,CAAA,MAAM,SAKrB;AAED;;;;;;;;;;;;;;;;;;;AAmBG;AACH,IAAA,SAAgB,KAAK,CACnB,KAAa,EACb,UAAmC,EAAA;AAEnC,QAAA,MAAM,MAAM,GAAwB,gBAAgB,CAAI,KAAK,CAAC;;QAG9D,IAAI,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,EAAE;YAC9C,OAAO;AACL,gBAAA,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAM;aACvD;QACH;AACA,QAAA,OAAO,MAAM;IACf;AAdgB,IAAA,OAAA,CAAA,KAAK,QAcpB;AAED;;;;;;;;;;;;;;;;;;;;AAoBG;IACH,SAAgB,SAAS,CAAC,OAA6B,EAAA;AACrD,QAAA,OAAO,0BAA0B,CAAC,OAAO,CAAC;IAC5C;AAFgB,IAAA,OAAA,CAAA,SAAS,YAExB;AAED;;;;;;;;;;AAUG;AACH,IAAA,SAAgB,QAAQ,CACtB,UAAkC,EAClC,MAA4B,EAAA;AAE5B,QAAA,MAAM,UAAU,GAAwB;AACtC,YAAA,OAAO,EAAE,EAAE;SACZ;AACD,QAAA,MAAM,MAAM,GAAwB,kBAAkB,CAAC,MAAM,CAAC;YAC5D,UAAU;AACV,YAAA,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,UAAU,CAAC,KAAK;AACxB,SAAA,CAAC;QACF,OAAO,gBAAgB,CAAC,MAAM,CAAC;YAC7B,UAAU;YACV,MAAM;AACN,YAAA,QAAQ,EAAE,IAAI;YACd,MAAM;AACP,SAAA,CAAC;IACJ;AAlBgB,IAAA,OAAA,CAAA,QAAQ,WAkBvB;AAED;;;;;;;;;;;;;;;;AAgBG;AACH,IAAA,SAAgB,gBAAgB,CAC9B,UAAkC,EAClC,MAA4B,EAAA;QAE5B,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC9C,OAAO;YACL,UAAU;YACV,KAAK,EAAE,CAAC,GAAW,KAA0B,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC;YACnE,MAAM,EAAE,CAAC,KAAc,KAAQ,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC;YACxD,QAAQ,EAAE,CAAC,KAAc,KACvB,SAAS,CAAC,KAAK,CAAmB;SACrC;IACH;AAZgB,IAAA,OAAA,CAAA,gBAAgB,mBAY/B;AACH,CAAC,EArJgB,OAAO,KAAP,OAAO,GAAA,EAAA,CAAA,CAAA;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typia/utils",
3
- "version": "12.0.0-dev.20260311",
3
+ "version": "12.0.0-dev.20260312-2",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "exports": {
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "homepage": "https://typia.io",
24
24
  "dependencies": {
25
- "@typia/interface": "^12.0.0-dev.20260311"
25
+ "@typia/interface": "^12.0.0-dev.20260312-2"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@rollup/plugin-commonjs": "^29.0.0",