typia 10.0.2 → 11.0.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 (86) hide show
  1. package/README.md +14 -10
  2. package/lib/factories/internal/metadata/emplace_metadata_object.js +11 -1
  3. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  4. package/lib/factories/internal/metadata/emplace_metadata_object.mjs +11 -0
  5. package/lib/index.mjs +2 -2
  6. package/lib/internal/_createStandardSchema.d.mts +1 -1
  7. package/lib/internal/_createStandardSchema.d.ts +1 -1
  8. package/lib/internal/_createStandardSchema.js.map +1 -1
  9. package/lib/internal/_llmApplicationFinalize.d.mts +2 -2
  10. package/lib/internal/_llmApplicationFinalize.d.ts +2 -2
  11. package/lib/internal/_llmApplicationFinalize.js +9 -10
  12. package/lib/internal/_llmApplicationFinalize.js.map +1 -1
  13. package/lib/internal/_llmApplicationFinalize.mjs +12 -13
  14. package/lib/llm.d.mts +20 -199
  15. package/lib/llm.d.ts +20 -199
  16. package/lib/llm.js.map +1 -1
  17. package/lib/misc.d.mts +3 -3
  18. package/lib/misc.d.ts +3 -3
  19. package/lib/misc.js.map +1 -1
  20. package/lib/module.d.mts +2 -2
  21. package/lib/module.d.ts +2 -2
  22. package/lib/programmers/internal/json_schema_object.js +1 -0
  23. package/lib/programmers/internal/json_schema_object.js.map +1 -1
  24. package/lib/programmers/internal/json_schema_object.mjs +1 -0
  25. package/lib/programmers/llm/LlmApplicationProgrammer.d.mts +8 -8
  26. package/lib/programmers/llm/LlmApplicationProgrammer.d.ts +8 -8
  27. package/lib/programmers/llm/LlmApplicationProgrammer.js +58 -64
  28. package/lib/programmers/llm/LlmApplicationProgrammer.js.map +1 -1
  29. package/lib/programmers/llm/LlmApplicationProgrammer.mjs +63 -68
  30. package/lib/programmers/llm/{LlmModelPredicator.d.mts → LlmMetadataFactory.d.mts} +2 -8
  31. package/lib/programmers/llm/{LlmModelPredicator.d.ts → LlmMetadataFactory.d.ts} +2 -8
  32. package/lib/programmers/llm/{LlmModelPredicator.js → LlmMetadataFactory.js} +6 -37
  33. package/lib/programmers/llm/LlmMetadataFactory.js.map +1 -0
  34. package/lib/programmers/llm/{LlmModelPredicator.mjs → LlmMetadataFactory.mjs} +6 -34
  35. package/lib/programmers/llm/LlmMetadataFactory.mjs.map +1 -0
  36. package/lib/programmers/llm/LlmParametersProgrammer.d.mts +8 -8
  37. package/lib/programmers/llm/LlmParametersProgrammer.d.ts +8 -8
  38. package/lib/programmers/llm/LlmParametersProgrammer.js +10 -10
  39. package/lib/programmers/llm/LlmParametersProgrammer.js.map +1 -1
  40. package/lib/programmers/llm/LlmParametersProgrammer.mjs +10 -13
  41. package/lib/programmers/llm/LlmSchemaProgrammer.d.mts +10 -12
  42. package/lib/programmers/llm/LlmSchemaProgrammer.d.ts +10 -12
  43. package/lib/programmers/llm/LlmSchemaProgrammer.js +21 -33
  44. package/lib/programmers/llm/LlmSchemaProgrammer.js.map +1 -1
  45. package/lib/programmers/llm/LlmSchemaProgrammer.mjs +21 -37
  46. package/lib/schemas/metadata/IMetadataProperty.d.mts +1 -0
  47. package/lib/schemas/metadata/IMetadataProperty.d.ts +1 -0
  48. package/lib/schemas/metadata/MetadataProperty.d.mts +1 -0
  49. package/lib/schemas/metadata/MetadataProperty.d.ts +1 -0
  50. package/lib/schemas/metadata/MetadataProperty.js +3 -0
  51. package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
  52. package/lib/schemas/metadata/MetadataProperty.mjs +4 -0
  53. package/lib/transformers/features/llm/LlmApplicationTransformer.d.mts +0 -2
  54. package/lib/transformers/features/llm/LlmApplicationTransformer.d.ts +0 -2
  55. package/lib/transformers/features/llm/LlmApplicationTransformer.js +9 -20
  56. package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
  57. package/lib/transformers/features/llm/LlmApplicationTransformer.mjs +9 -20
  58. package/lib/transformers/features/llm/LlmControllerTransformer.js +1 -8
  59. package/lib/transformers/features/llm/LlmControllerTransformer.js.map +1 -1
  60. package/lib/transformers/features/llm/LlmControllerTransformer.mjs +1 -8
  61. package/lib/transformers/features/llm/LlmParametersTransformer.js +6 -15
  62. package/lib/transformers/features/llm/LlmParametersTransformer.js.map +1 -1
  63. package/lib/transformers/features/llm/LlmParametersTransformer.mjs +6 -15
  64. package/lib/transformers/features/llm/LlmSchemaTransformer.js +11 -26
  65. package/lib/transformers/features/llm/LlmSchemaTransformer.js.map +1 -1
  66. package/lib/transformers/features/llm/LlmSchemaTransformer.mjs +11 -26
  67. package/package.json +4 -3
  68. package/src/factories/internal/metadata/emplace_metadata_object.ts +16 -0
  69. package/src/internal/_createStandardSchema.ts +2 -2
  70. package/src/internal/_llmApplicationFinalize.ts +18 -25
  71. package/src/llm.ts +28 -221
  72. package/src/misc.ts +9 -9
  73. package/src/module.ts +2 -2
  74. package/src/programmers/internal/json_schema_object.ts +1 -0
  75. package/src/programmers/llm/LlmApplicationProgrammer.ts +139 -151
  76. package/src/programmers/llm/{LlmModelPredicator.ts → LlmMetadataFactory.ts} +4 -42
  77. package/src/programmers/llm/LlmParametersProgrammer.ts +34 -41
  78. package/src/programmers/llm/LlmSchemaProgrammer.ts +59 -98
  79. package/src/schemas/metadata/IMetadataProperty.ts +1 -0
  80. package/src/schemas/metadata/MetadataProperty.ts +4 -0
  81. package/src/transformers/features/llm/LlmApplicationTransformer.ts +14 -29
  82. package/src/transformers/features/llm/LlmControllerTransformer.ts +1 -12
  83. package/src/transformers/features/llm/LlmParametersTransformer.ts +10 -21
  84. package/src/transformers/features/llm/LlmSchemaTransformer.ts +29 -65
  85. package/lib/programmers/llm/LlmModelPredicator.js.map +0 -1
  86. package/lib/programmers/llm/LlmModelPredicator.mjs.map +0 -1
@@ -2,13 +2,13 @@ import { ILlmSchema } from "@samchon/openapi";
2
2
  import { MetadataFactory } from "../../factories/MetadataFactory";
3
3
  import { Metadata } from "../../schemas/metadata/Metadata";
4
4
  export declare namespace LlmParametersProgrammer {
5
- const write: <Model extends ILlmSchema.Model>(props: {
6
- model: Model;
5
+ const write: (props: {
7
6
  metadata: Metadata;
8
- config?: Partial<ILlmSchema.ModelConfig[Model]>;
9
- }) => ILlmSchema.ModelParameters[Model];
10
- const validate: <Model extends ILlmSchema.Model>(props: {
11
- model: Model;
12
- config?: Partial<ILlmSchema.ModelConfig[Model]>;
13
- }) => (metadata: Metadata, explore: MetadataFactory.IExplore) => string[];
7
+ config?: Partial<ILlmSchema.IConfig>;
8
+ }) => ILlmSchema.IParameters;
9
+ const validate: (props: {
10
+ config?: Partial<ILlmSchema.IConfig>;
11
+ metadata: Metadata;
12
+ explore: MetadataFactory.IExplore;
13
+ }) => string[];
14
14
  }
@@ -25,8 +25,8 @@ var LlmParametersProgrammer;
25
25
  }
26
26
  throw new Error("Unreachable code. Failed to find the object schema.");
27
27
  })();
28
- const result = LlmSchemaComposer_1.LlmSchemaComposer.parameters(props.model)({
29
- config: Object.assign(Object.assign({}, LlmSchemaComposer_1.LlmSchemaComposer.defaultConfig(props.model)), props.config),
28
+ const result = LlmSchemaComposer_1.LlmSchemaComposer.parameters({
29
+ config: LlmSchemaComposer_1.LlmSchemaComposer.getConfig(props.config),
30
30
  components: collection.components,
31
31
  schema,
32
32
  });
@@ -40,23 +40,23 @@ var LlmParametersProgrammer;
40
40
  });
41
41
  return result.value;
42
42
  };
43
- LlmParametersProgrammer.validate = (props) => (metadata, explore) => {
43
+ LlmParametersProgrammer.validate = (props) => {
44
44
  const output = [];
45
- if (explore.top === true) {
46
- if (metadata.objects.length === 0)
45
+ if (props.explore.top === true) {
46
+ if (props.metadata.objects.length === 0)
47
47
  output.push("LLM parameters must be an object type.");
48
- else if (metadata.objects.length !== 1 || metadata.size() > 1)
48
+ else if (props.metadata.objects.length !== 1 || props.metadata.size() > 1)
49
49
  output.push("LLM parameters must be a single object type.");
50
50
  else {
51
- if (metadata.objects[0].type.properties.some((p) => p.key.isSoleLiteral() === false))
51
+ if (props.metadata.objects[0].type.properties.some((p) => p.key.isSoleLiteral() === false))
52
52
  output.push("LLM parameters must not have dynamic keys.");
53
- if (metadata.nullable)
53
+ if (props.metadata.nullable)
54
54
  output.push("LLM parameters must be a non-nullable object type.");
55
- if (metadata.isRequired() === false)
55
+ if (props.metadata.isRequired() === false)
56
56
  output.push("LLM parameters must be a non-undefined object type.");
57
57
  }
58
58
  }
59
- output.push(...LlmSchemaProgrammer_1.LlmSchemaProgrammer.validate(props)(metadata));
59
+ output.push(...LlmSchemaProgrammer_1.LlmSchemaProgrammer.validate(props));
60
60
  return output;
61
61
  };
62
62
  })(LlmParametersProgrammer || (exports.LlmParametersProgrammer = LlmParametersProgrammer = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"LlmParametersProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmParametersProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LlmParametersProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmParametersProgrammer.ts"],"names":[],"mappings":"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"}
@@ -22,11 +22,8 @@ var LlmParametersProgrammer;
22
22
  }
23
23
  throw new Error("Unreachable code. Failed to find the object schema.");
24
24
  })();
25
- const result = LlmSchemaComposer.parameters(props.model)({
26
- config: {
27
- ...LlmSchemaComposer.defaultConfig(props.model),
28
- ...props.config,
29
- },
25
+ const result = LlmSchemaComposer.parameters({
26
+ config: LlmSchemaComposer.getConfig(props.config),
30
27
  components: collection.components,
31
28
  schema,
32
29
  });
@@ -40,23 +37,23 @@ var LlmParametersProgrammer;
40
37
  });
41
38
  return result.value;
42
39
  };
43
- LlmParametersProgrammer.validate = (props) => (metadata, explore) => {
40
+ LlmParametersProgrammer.validate = (props) => {
44
41
  const output = [];
45
- if (explore.top === true) {
46
- if (metadata.objects.length === 0)
42
+ if (props.explore.top === true) {
43
+ if (props.metadata.objects.length === 0)
47
44
  output.push("LLM parameters must be an object type.");
48
- else if (metadata.objects.length !== 1 || metadata.size() > 1)
45
+ else if (props.metadata.objects.length !== 1 || props.metadata.size() > 1)
49
46
  output.push("LLM parameters must be a single object type.");
50
47
  else {
51
- if (metadata.objects[0].type.properties.some((p) => p.key.isSoleLiteral() === false))
48
+ if (props.metadata.objects[0].type.properties.some((p) => p.key.isSoleLiteral() === false))
52
49
  output.push("LLM parameters must not have dynamic keys.");
53
- if (metadata.nullable)
50
+ if (props.metadata.nullable)
54
51
  output.push("LLM parameters must be a non-nullable object type.");
55
- if (metadata.isRequired() === false)
52
+ if (props.metadata.isRequired() === false)
56
53
  output.push("LLM parameters must be a non-undefined object type.");
57
54
  }
58
55
  }
59
- output.push(...LlmSchemaProgrammer.validate(props)(metadata));
56
+ output.push(...LlmSchemaProgrammer.validate(props));
60
57
  return output;
61
58
  };
62
59
  })(LlmParametersProgrammer || (LlmParametersProgrammer = {}));
@@ -1,18 +1,16 @@
1
1
  import { ILlmSchema } from "@samchon/openapi";
2
2
  import { Metadata } from "../../schemas/metadata/Metadata";
3
3
  export declare namespace LlmSchemaProgrammer {
4
- interface IOutput<Model extends ILlmSchema.Model> {
5
- model: Model;
6
- schema: ILlmSchema.ModelSchema[Model];
7
- $defs: Record<string, ILlmSchema.ModelSchema[Model]>;
4
+ interface IOutput {
5
+ schema: ILlmSchema;
6
+ $defs: Record<string, ILlmSchema>;
8
7
  }
9
- const write: <Model extends ILlmSchema.Model>(props: {
10
- model: Model;
8
+ const write: (props: {
11
9
  metadata: Metadata;
12
- config?: Partial<ILlmSchema.ModelConfig[Model]>;
13
- }) => IOutput<Model>;
14
- const validate: <Model extends ILlmSchema.Model>(props: {
15
- model: ILlmSchema.Model;
16
- config?: Partial<ILlmSchema.ModelConfig[Model]>;
17
- }) => (metadata: Metadata) => string[];
10
+ config?: Partial<ILlmSchema.IConfig>;
11
+ }) => IOutput;
12
+ const validate: (props: {
13
+ config?: Partial<ILlmSchema.IConfig>;
14
+ metadata: Metadata;
15
+ }) => string[];
18
16
  }
@@ -1,18 +1,16 @@
1
1
  import { ILlmSchema } from "@samchon/openapi";
2
2
  import { Metadata } from "../../schemas/metadata/Metadata";
3
3
  export declare namespace LlmSchemaProgrammer {
4
- interface IOutput<Model extends ILlmSchema.Model> {
5
- model: Model;
6
- schema: ILlmSchema.ModelSchema[Model];
7
- $defs: Record<string, ILlmSchema.ModelSchema[Model]>;
4
+ interface IOutput {
5
+ schema: ILlmSchema;
6
+ $defs: Record<string, ILlmSchema>;
8
7
  }
9
- const write: <Model extends ILlmSchema.Model>(props: {
10
- model: Model;
8
+ const write: (props: {
11
9
  metadata: Metadata;
12
- config?: Partial<ILlmSchema.ModelConfig[Model]>;
13
- }) => IOutput<Model>;
14
- const validate: <Model extends ILlmSchema.Model>(props: {
15
- model: ILlmSchema.Model;
16
- config?: Partial<ILlmSchema.ModelConfig[Model]>;
17
- }) => (metadata: Metadata) => string[];
10
+ config?: Partial<ILlmSchema.IConfig>;
11
+ }) => IOutput;
12
+ const validate: (props: {
13
+ config?: Partial<ILlmSchema.IConfig>;
14
+ metadata: Metadata;
15
+ }) => string[];
18
16
  }
@@ -18,11 +18,11 @@ var LlmSchemaProgrammer;
18
18
  metadatas: [props.metadata],
19
19
  });
20
20
  const $defs = {};
21
- const result = LlmSchemaComposer_1.LlmSchemaComposer.schema(props.model)({
22
- config: Object.assign(Object.assign({}, LlmSchemaComposer_1.LlmSchemaComposer.defaultConfig(props.model)), props.config),
21
+ const result = LlmSchemaComposer_1.LlmSchemaComposer.schema({
22
+ config: LlmSchemaComposer_1.LlmSchemaComposer.getConfig(props.config),
23
23
  components: collection.components,
24
24
  schema: collection.schemas[0],
25
- $defs: $defs,
25
+ $defs,
26
26
  });
27
27
  if (result.success === false)
28
28
  throw new TransformerError_1.TransformerError({
@@ -33,46 +33,34 @@ var LlmSchemaProgrammer;
33
33
  .join("\n"),
34
34
  });
35
35
  return {
36
- model: props.model,
37
36
  $defs,
38
37
  schema: result.value,
39
38
  };
40
39
  };
41
- LlmSchemaProgrammer.validate = (props) => (metadata) => {
42
- var _a, _b, _c, _d;
40
+ LlmSchemaProgrammer.validate = (props) => {
43
41
  const output = [];
44
- // no additionalProperties in ChatGPT strict mode or Gemini
45
- if (props.model === "chatgpt" &&
46
- ((_a = props.config) === null || _a === void 0 ? void 0 : _a.strict) === true &&
47
- metadata.objects.some((o) => o.type.properties.some((p) => p.key.isSoleLiteral() === false && p.value.size() !== 0)))
48
- output.push(`LLM schema of "${props.model}"${props.model === "chatgpt" ? " (strict mode)" : ""} does not support dynamic property in object.`);
49
- // ChatGPT strict mode even does not support the optional property
50
- if (props.model === "chatgpt" &&
51
- ((_b = props.config) === null || _b === void 0 ? void 0 : _b.strict) === true &&
52
- metadata.objects.some((o) => o.type.properties.some((p) => p.value.isRequired() === false)))
53
- output.push(`LLM schema of "chatgpt" (strict mode) does not support optional property in object.`);
54
- // no recursive rule of Gemini and V3
55
- if (props.model === "3.0" &&
56
- (((_c = props.config) === null || _c === void 0 ? void 0 : _c.recursive) ===
57
- false ||
58
- ((_d = props.config) === null || _d === void 0 ? void 0 : _d.recursive) === 0)) {
59
- if (metadata.objects.some((o) => o.type.recursive))
60
- output.push(`LLM schema of "${props.model}" does not support recursive object.`);
61
- if (metadata.arrays.some((a) => a.type.recursive))
62
- output.push(`LLM schema of "${props.model}" does not support recursive array.`);
63
- }
42
+ // no additionalProperties in OpenAI strict mode
43
+ const config = LlmSchemaComposer_1.LlmSchemaComposer.getConfig(props.config);
44
+ if (config.strict === true &&
45
+ props.metadata.objects.some((o) => o.type.properties.some((p) => p.key.isSoleLiteral() === false && p.value.size() !== 0)))
46
+ output.push(`Strict mode does not allow dynamic property in object.`);
47
+ // OpenAI strict mode even does not support the optional property
48
+ if (config.strict === true &&
49
+ props.metadata.objects.some((o) => o.type.properties.some((p) => p.value.isRequired() === false)))
50
+ output.push(`Strict mode does not support optional property in object.`);
64
51
  // just JSON rule
65
- if (metadata.atomics.some((a) => a.type === "bigint") ||
66
- metadata.constants.some((c) => c.type === "bigint"))
52
+ if (props.metadata.atomics.some((a) => a.type === "bigint") ||
53
+ props.metadata.constants.some((c) => c.type === "bigint"))
67
54
  output.push("LLM schema does not support bigint type.");
68
- if (metadata.tuples.some((t) => t.type.elements.some((e) => e.isRequired() === false)) ||
69
- metadata.arrays.some((a) => a.type.value.isRequired() === false))
55
+ if (props.metadata.tuples.length !== 0)
56
+ output.push("LLM schema does not support tuple type.");
57
+ if (props.metadata.arrays.some((a) => a.type.value.isRequired() === false))
70
58
  output.push("LLM schema does not support undefined type in array.");
71
- if (metadata.maps.length)
59
+ if (props.metadata.maps.length)
72
60
  output.push("LLM schema does not support Map type.");
73
- if (metadata.sets.length)
61
+ if (props.metadata.sets.length)
74
62
  output.push("LLM schema does not support Set type.");
75
- for (const native of metadata.natives)
63
+ for (const native of props.metadata.natives)
76
64
  if (AtomicPredicator_1.AtomicPredicator.native(native.name) === false &&
77
65
  native.name !== "Date" &&
78
66
  native.name !== "Blob" &&
@@ -1 +1 @@
1
- {"version":3,"file":"LlmSchemaProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmSchemaProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LlmSchemaProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmSchemaProgrammer.ts"],"names":[],"mappings":"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"}
@@ -11,14 +11,11 @@ var LlmSchemaProgrammer;
11
11
  metadatas: [props.metadata],
12
12
  });
13
13
  const $defs = {};
14
- const result = LlmSchemaComposer.schema(props.model)({
15
- config: {
16
- ...LlmSchemaComposer.defaultConfig(props.model),
17
- ...props.config,
18
- },
14
+ const result = LlmSchemaComposer.schema({
15
+ config: LlmSchemaComposer.getConfig(props.config),
19
16
  components: collection.components,
20
17
  schema: collection.schemas[0],
21
- $defs: $defs,
18
+ $defs,
22
19
  });
23
20
  if (result.success === false)
24
21
  throw new TransformerError({
@@ -29,47 +26,34 @@ var LlmSchemaProgrammer;
29
26
  .join("\n"),
30
27
  });
31
28
  return {
32
- model: props.model,
33
29
  $defs,
34
30
  schema: result.value,
35
31
  };
36
32
  };
37
- LlmSchemaProgrammer.validate = (props) => (metadata) => {
33
+ LlmSchemaProgrammer.validate = (props) => {
38
34
  const output = [];
39
- // no additionalProperties in ChatGPT strict mode or Gemini
40
- if (props.model === "chatgpt" &&
41
- props.config
42
- ?.strict === true &&
43
- metadata.objects.some((o) => o.type.properties.some((p) => p.key.isSoleLiteral() === false && p.value.size() !== 0)))
44
- output.push(`LLM schema of "${props.model}"${props.model === "chatgpt" ? " (strict mode)" : ""} does not support dynamic property in object.`);
45
- // ChatGPT strict mode even does not support the optional property
46
- if (props.model === "chatgpt" &&
47
- props.config
48
- ?.strict === true &&
49
- metadata.objects.some((o) => o.type.properties.some((p) => p.value.isRequired() === false)))
50
- output.push(`LLM schema of "chatgpt" (strict mode) does not support optional property in object.`);
51
- // no recursive rule of Gemini and V3
52
- if (props.model === "3.0" &&
53
- (props.config?.recursive ===
54
- false ||
55
- props.config?.recursive === 0)) {
56
- if (metadata.objects.some((o) => o.type.recursive))
57
- output.push(`LLM schema of "${props.model}" does not support recursive object.`);
58
- if (metadata.arrays.some((a) => a.type.recursive))
59
- output.push(`LLM schema of "${props.model}" does not support recursive array.`);
60
- }
35
+ // no additionalProperties in OpenAI strict mode
36
+ const config = LlmSchemaComposer.getConfig(props.config);
37
+ if (config.strict === true &&
38
+ props.metadata.objects.some((o) => o.type.properties.some((p) => p.key.isSoleLiteral() === false && p.value.size() !== 0)))
39
+ output.push(`Strict mode does not allow dynamic property in object.`);
40
+ // OpenAI strict mode even does not support the optional property
41
+ if (config.strict === true &&
42
+ props.metadata.objects.some((o) => o.type.properties.some((p) => p.value.isRequired() === false)))
43
+ output.push(`Strict mode does not support optional property in object.`);
61
44
  // just JSON rule
62
- if (metadata.atomics.some((a) => a.type === "bigint") ||
63
- metadata.constants.some((c) => c.type === "bigint"))
45
+ if (props.metadata.atomics.some((a) => a.type === "bigint") ||
46
+ props.metadata.constants.some((c) => c.type === "bigint"))
64
47
  output.push("LLM schema does not support bigint type.");
65
- if (metadata.tuples.some((t) => t.type.elements.some((e) => e.isRequired() === false)) ||
66
- metadata.arrays.some((a) => a.type.value.isRequired() === false))
48
+ if (props.metadata.tuples.length !== 0)
49
+ output.push("LLM schema does not support tuple type.");
50
+ if (props.metadata.arrays.some((a) => a.type.value.isRequired() === false))
67
51
  output.push("LLM schema does not support undefined type in array.");
68
- if (metadata.maps.length)
52
+ if (props.metadata.maps.length)
69
53
  output.push("LLM schema does not support Map type.");
70
- if (metadata.sets.length)
54
+ if (props.metadata.sets.length)
71
55
  output.push("LLM schema does not support Set type.");
72
- for (const native of metadata.natives)
56
+ for (const native of props.metadata.natives)
73
57
  if (AtomicPredicator.native(native.name) === false &&
74
58
  native.name !== "Date" &&
75
59
  native.name !== "Blob" &&
@@ -5,4 +5,5 @@ export interface IMetadataProperty {
5
5
  value: IMetadata;
6
6
  description: string | null;
7
7
  jsDocTags: IJsDocTagInfo[];
8
+ mutability?: "readonly" | null | undefined;
8
9
  }
@@ -5,4 +5,5 @@ export interface IMetadataProperty {
5
5
  value: IMetadata;
6
6
  description: string | null;
7
7
  jsDocTags: IJsDocTagInfo[];
8
+ mutability?: "readonly" | null | undefined;
8
9
  }
@@ -7,6 +7,7 @@ export declare class MetadataProperty {
7
7
  readonly value: Metadata;
8
8
  readonly description: string | null;
9
9
  readonly jsDocTags: IJsDocTagInfo[];
10
+ readonly mutability?: "readonly" | null | undefined;
10
11
  of_protobuf_?: IProtobufProperty;
11
12
  /** @ignore */
12
13
  private constructor();
@@ -7,6 +7,7 @@ export declare class MetadataProperty {
7
7
  readonly value: Metadata;
8
8
  readonly description: string | null;
9
9
  readonly jsDocTags: IJsDocTagInfo[];
10
+ readonly mutability?: "readonly" | null | undefined;
10
11
  of_protobuf_?: IProtobufProperty;
11
12
  /** @ignore */
12
13
  private constructor();
@@ -12,6 +12,7 @@ class MetadataProperty {
12
12
  this.value = props.value;
13
13
  this.description = props.description;
14
14
  this.jsDocTags = props.jsDocTags;
15
+ this.mutability = props.mutability;
15
16
  }
16
17
  /** @internal */
17
18
  static create(props) {
@@ -24,6 +25,7 @@ class MetadataProperty {
24
25
  value: Metadata_1.Metadata.from(property.value, dict),
25
26
  description: property.description,
26
27
  jsDocTags: property.jsDocTags.slice(),
28
+ mutability: property.mutability,
27
29
  });
28
30
  }
29
31
  toJSON() {
@@ -32,6 +34,7 @@ class MetadataProperty {
32
34
  value: this.value.toJSON(),
33
35
  description: this.description,
34
36
  jsDocTags: this.jsDocTags,
37
+ mutability: this.mutability,
35
38
  };
36
39
  }
37
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataProperty.js","sourceRoot":"","sources":["../../../src/schemas/metadata/MetadataProperty.ts"],"names":[],"mappings":";;;AAMA,yCAAsC;AAEtC,MAAa,gBAAgB;IAQ3B;;oEAEgE;IAChE,cAAc;IACd,YAAoB,KAAwC;QAC1D,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACnC,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,MAAM,CAClB,KAAwC;QAExC,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,IAAI,CAAC,QAA2B,EAAE,IAAyB;QACvE,OAAO,gBAAgB,CAAC,MAAM,CAAC;YAC7B,GAAG,EAAE,mBAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;YACtC,KAAK,EAAE,mBAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;YAC1C,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE;SACtC,CAAC,CAAC;IACL,CAAC;IAEM,MAAM;QACX,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;YACtB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC1B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;CACF;AA5CD,4CA4CC"}
1
+ {"version":3,"file":"MetadataProperty.js","sourceRoot":"","sources":["../../../src/schemas/metadata/MetadataProperty.ts"],"names":[],"mappings":";;;AAMA,yCAAsC;AAEtC,MAAa,gBAAgB;IAS3B;;oEAEgE;IAChE,cAAc;IACd,YAAoB,KAAwC;QAC1D,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACrC,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,MAAM,CAClB,KAAwC;QAExC,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,IAAI,CAAC,QAA2B,EAAE,IAAyB;QACvE,OAAO,gBAAgB,CAAC,MAAM,CAAC;YAC7B,GAAG,EAAE,mBAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;YACtC,KAAK,EAAE,mBAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;YAC1C,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE;YACrC,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC,CAAC,CAAC;IACL,CAAC;IAEM,MAAM;QACX,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;YACtB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC1B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC;CACF;AAhDD,4CAgDC"}
@@ -5,6 +5,7 @@ class MetadataProperty {
5
5
  value;
6
6
  description;
7
7
  jsDocTags;
8
+ mutability;
8
9
  of_protobuf_;
9
10
  /* -----------------------------------------------------------
10
11
  CONSTRUCTORS
@@ -15,6 +16,7 @@ class MetadataProperty {
15
16
  this.value = props.value;
16
17
  this.description = props.description;
17
18
  this.jsDocTags = props.jsDocTags;
19
+ this.mutability = props.mutability;
18
20
  }
19
21
  /** @internal */
20
22
  static create(props) {
@@ -27,6 +29,7 @@ class MetadataProperty {
27
29
  value: Metadata.from(property.value, dict),
28
30
  description: property.description,
29
31
  jsDocTags: property.jsDocTags.slice(),
32
+ mutability: property.mutability,
30
33
  });
31
34
  }
32
35
  toJSON() {
@@ -35,6 +38,7 @@ class MetadataProperty {
35
38
  value: this.value.toJSON(),
36
39
  description: this.description,
37
40
  jsDocTags: this.jsDocTags,
41
+ mutability: this.mutability,
38
42
  };
39
43
  }
40
44
  }
@@ -1,4 +1,3 @@
1
- import { ILlmSchema } from "@samchon/openapi";
2
1
  import ts from "typescript";
3
2
  import { ITransformProps } from "../../ITransformProps";
4
3
  import { ITypiaContext } from "../../ITypiaContext";
@@ -9,6 +8,5 @@ export declare namespace LlmApplicationTransformer {
9
8
  value: ts.Expression;
10
9
  argument: ts.Expression;
11
10
  equals?: boolean;
12
- model: ILlmSchema.Model;
13
11
  }) => ts.CallExpression;
14
12
  }
@@ -1,4 +1,3 @@
1
- import { ILlmSchema } from "@samchon/openapi";
2
1
  import ts from "typescript";
3
2
  import { ITransformProps } from "../../ITransformProps";
4
3
  import { ITypiaContext } from "../../ITypiaContext";
@@ -9,6 +8,5 @@ export declare namespace LlmApplicationTransformer {
9
8
  value: ts.Expression;
10
9
  argument: ts.Expression;
11
10
  equals?: boolean;
12
- model: ILlmSchema.Model;
13
11
  }) => ts.CallExpression;
14
12
  }
@@ -11,7 +11,7 @@ const MetadataCollection_1 = require("../../../factories/MetadataCollection");
11
11
  const MetadataFactory_1 = require("../../../factories/MetadataFactory");
12
12
  const StatementFactory_1 = require("../../../factories/StatementFactory");
13
13
  const LlmApplicationProgrammer_1 = require("../../../programmers/llm/LlmApplicationProgrammer");
14
- const LlmModelPredicator_1 = require("../../../programmers/llm/LlmModelPredicator");
14
+ const LlmMetadataFactory_1 = require("../../../programmers/llm/LlmMetadataFactory");
15
15
  const TransformerError_1 = require("../../TransformerError");
16
16
  var LlmApplicationTransformer;
17
17
  (function (LlmApplicationTransformer) {
@@ -23,11 +23,9 @@ var LlmApplicationTransformer;
23
23
  const literal = typescript_1.default.factory.createAsExpression(LiteralFactory_1.LiteralFactory.write(dec.application), props.context.importer.type({
24
24
  file: "@samchon/openapi",
25
25
  name: "ILlmApplication",
26
- arguments: [
27
- typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral(dec.application.model)),
28
- ],
26
+ arguments: [dec.node],
29
27
  }));
30
- if (!((_a = props.expression.arguments) === null || _a === void 0 ? void 0 : _a[0]))
28
+ if (((_a = props.expression.arguments) === null || _a === void 0 ? void 0 : _a[0]) === undefined)
31
29
  return literal;
32
30
  return ExpressionFactory_1.ExpressionFactory.selfCall(typescript_1.default.factory.createBlock([
33
31
  StatementFactory_1.StatementFactory.constant({
@@ -39,7 +37,6 @@ var LlmApplicationTransformer;
39
37
  value: typescript_1.default.factory.createIdentifier("application"),
40
38
  argument: props.expression.arguments[0],
41
39
  equals: (_b = dec.config) === null || _b === void 0 ? void 0 : _b.equals,
42
- model: dec.application.model,
43
40
  })),
44
41
  typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("application")),
45
42
  ], true));
@@ -57,16 +54,10 @@ var LlmApplicationTransformer;
57
54
  if (typescript_1.default.isTypeNode(top) === false)
58
55
  return null;
59
56
  // GET TYPE
60
- const model = LlmModelPredicator_1.LlmModelPredicator.getModel({
61
- checker: props.context.checker,
62
- method,
63
- node: props.expression.typeArguments[1],
64
- });
65
- const config = LlmModelPredicator_1.LlmModelPredicator.getConfig({
57
+ const config = LlmMetadataFactory_1.LlmMetadataFactory.getConfig({
66
58
  context: props.context,
67
59
  method,
68
- model,
69
- node: props.expression.typeArguments[2],
60
+ node: props.expression.typeArguments[1],
70
61
  });
71
62
  const type = props.context.checker.getTypeFromTypeNode(top);
72
63
  // VALIDATE TYPE
@@ -80,9 +71,10 @@ var LlmApplicationTransformer;
80
71
  constant: true,
81
72
  functional: true,
82
73
  validate: validate === true
83
- ? LlmApplicationProgrammer_1.LlmApplicationProgrammer.validate({
84
- model,
74
+ ? (metadata, explore) => LlmApplicationProgrammer_1.LlmApplicationProgrammer.validate({
85
75
  config,
76
+ metadata,
77
+ explore,
86
78
  })
87
79
  : undefined,
88
80
  },
@@ -102,7 +94,6 @@ var LlmApplicationTransformer;
102
94
  // GENERATE LLM APPLICATION
103
95
  return {
104
96
  application: LlmApplicationProgrammer_1.LlmApplicationProgrammer.write({
105
- model,
106
97
  context: props.context,
107
98
  modulo: props.modulo,
108
99
  metadata: analyze(false),
@@ -117,9 +108,7 @@ var LlmApplicationTransformer;
117
108
  LlmApplicationTransformer.finalize = (props) => {
118
109
  const satisfiesTypeNode = typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("Partial"), [
119
110
  typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("Pick"), [
120
- typescript_1.default.factory.createImportTypeNode(typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral("@samchon/openapi")), undefined, typescript_1.default.factory.createQualifiedName(typescript_1.default.factory.createIdentifier("ILlmApplication"), typescript_1.default.factory.createIdentifier("IOptions")), [
121
- typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral(props.model)),
122
- ], false),
111
+ typescript_1.default.factory.createImportTypeNode(typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral("@samchon/openapi")), undefined, typescript_1.default.factory.createQualifiedName(typescript_1.default.factory.createIdentifier("ILlmApplication"), typescript_1.default.factory.createIdentifier("IConfig")), undefined, false),
123
112
  typescript_1.default.factory.createUnionTypeNode([
124
113
  typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral("separate")),
125
114
  typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral("validate")),
@@ -1 +1 @@
1
- {"version":3,"file":"LlmApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmApplicationTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LlmApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmApplicationTransformer.ts"],"names":[],"mappings":";;;;;;AACA,4DAA4B;AAE5B,4EAAyE;AACzE,sEAAmE;AACnE,8EAA2E;AAC3E,wEAAqE;AACrE,0EAAuE;AAIvE,gGAA6F;AAC7F,oFAAiF;AAMjF,6DAA0D;AAE1D,IAAiB,yBAAyB,CA4LzC;AA5LD,WAAiB,yBAAyB;IAC3B,mCAAS,GAAG,CAAC,KAAsB,EAAiB,EAAE;;QACjE,MAAM,GAAG,GAAG,0BAAA,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC,UAAU,CAAC;QAE1C,MAAM,OAAO,GAAkB,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAC1D,+BAAc,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EACrC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC1B,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,iBAAiB;YACvB,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;SACtB,CAAC,CACH,CAAC;QACF,IAAI,CAAA,MAAA,KAAK,CAAC,UAAU,CAAC,SAAS,0CAAG,CAAC,CAAC,MAAK,SAAS;YAAE,OAAO,OAAO,CAAC;QAClE,OAAO,qCAAiB,CAAC,QAAQ,CAC/B,oBAAE,CAAC,OAAO,CAAC,WAAW,CACpB;YACE,mCAAgB,CAAC,QAAQ,CAAC;gBACxB,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,OAAO;aACf,CAAC;YACF,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,0BAAA,QAAQ,CAAC;gBACP,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC;gBACjD,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAE;gBACxC,MAAM,EAAE,MAAA,GAAG,CAAC,MAAM,0CAAE,MAAM;aAC3B,CAAC,CACH;YACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAC3C;SACF,EACD,IAAI,CACL,CACF,CAAC;IACJ,CAAC,CAAC;IAEF,gBAAgB;IACH,mCAAS,GAAG,CACvB,MAAc,EACd,KAAsB,EAYf,EAAE;;QACT,uBAAuB;QACvB,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;YACzC,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,aAAa,MAAM,EAAE;gBAC3B,OAAO,EAAE,sBAAsB;aAChC,CAAC,CAAC;QACL,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;QACxD,IAAI,oBAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAE9C,WAAW;QACX,MAAM,MAAM,GAMI,uCAAkB,CAAC,SAAS,CAAC;YAC3C,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM;YACN,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;SACxC,CAAC,CAAC;QACH,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAErE,gBAAgB;QAChB,MAAM,OAAO,GAAG,CAAC,QAAiB,EAAY,EAAE;YAC9C,MAAM,MAAM,GACV,iCAAe,CAAC,OAAO,CAAC;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;gBAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;gBACtC,OAAO,EAAE;oBACP,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,IAAI;oBAChB,QAAQ,EACN,QAAQ,KAAK,IAAI;wBACf,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CACpB,mDAAwB,CAAC,QAAQ,CAAC;4BAChC,MAAM;4BACN,QAAQ;4BACR,OAAO;yBACR,CAAC;wBACN,CAAC,CAAC,SAAS;iBAChB;gBACD,UAAU,EAAE,IAAI,uCAAkB,CAAC;oBACjC,OAAO,EAAE,uCAAkB,CAAC,OAAO;iBACpC,CAAC;gBACF,IAAI;aACL,CAAC,CAAC;YACL,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;gBAC1B,MAAM,mCAAgB,CAAC,IAAI,CAAC;oBAC1B,IAAI,EAAE,aAAa,MAAM,EAAE;oBAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC,CAAC;YACL,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC;QAEd,2BAA2B;QAC3B,OAAO;YACL,WAAW,EAAE,mDAAwB,CAAC,KAAK,CAAC;gBAC1C,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC;gBACxB,MAAM;gBACN,IAAI,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;aAC/B,CAAC;YACF,IAAI,EAAE,GAAG;YACT,IAAI;YACJ,MAAM;SACP,CAAC;IACJ,CAAC,CAAC;IAEW,kCAAQ,GAAG,CAAC,KAKxB,EAAE,EAAE;QACH,MAAM,iBAAiB,GAAgB,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CACvE,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,EACtC;YACE,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EACnC;gBACE,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CACnD,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAC9C,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CACvC,EACD,SAAS,EACT,KAAK,CACN;gBACD,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;oBAC7B,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAC3C;oBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAC3C;iBACF,CAAC;aACH,CACF;SACF,CACF,CAAC;QACF,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CACpC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EACzD,SAAS,EACT;YACE,KAAK,CAAC,KAAK;YACX,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC;gBACE,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC/B,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,KAAK,CAAC,QAAQ,EACd,iBAAiB,CAClB,CACF;gBACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,QAAQ,EACR,KAAK,CAAC,MAAM,KAAK,IAAI;oBACnB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;oBACzB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAC7B;aACF,EACD,IAAI,CACL;SACF,CACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,EA5LgB,yBAAyB,yCAAzB,yBAAyB,QA4LzC"}