only_ever_generator 8.4.6 → 8.4.7

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 (119) hide show
  1. package/dist/bootstrap/app.d.ts +6 -3
  2. package/dist/bootstrap/app.d.ts.map +1 -1
  3. package/dist/bootstrap/app.js +11 -17
  4. package/dist/bootstrap/app.js.map +1 -1
  5. package/dist/card_gen/generate_cards.d.ts +2 -3
  6. package/dist/card_gen/generate_cards.d.ts.map +1 -1
  7. package/dist/card_gen/generate_cards.js +22 -15
  8. package/dist/card_gen/generate_cards.js.map +1 -1
  9. package/dist/constants/prompt_data.d.ts +4 -4
  10. package/dist/constants/prompt_data.js +302 -302
  11. package/dist/constants/prompts/card_gen_prompt.js +160 -160
  12. package/dist/constants/prompts/typology_prompt.js +131 -131
  13. package/dist/constants/source_data.d.ts +171 -171
  14. package/dist/constants/source_data.js +973 -973
  15. package/dist/embedding_generation/local_consolidation.js +104 -104
  16. package/dist/helper/build_concept_facts_schema.d.ts +42 -42
  17. package/dist/helper/build_concept_facts_schema.js +44 -44
  18. package/dist/helper/qdrant_db_methods.d.ts.map +1 -1
  19. package/dist/helper/schema_helper/build_card_schema.d.ts +1 -9
  20. package/dist/helper/schema_helper/build_card_schema.d.ts.map +1 -1
  21. package/dist/helper/schema_helper/build_card_schema.js +47 -50
  22. package/dist/helper/schema_helper/build_card_schema.js.map +1 -1
  23. package/dist/helper/schema_helper/build_concept_facts_schema.d.ts +1 -1
  24. package/dist/helper/schema_helper/build_concept_facts_schema.d.ts.map +1 -1
  25. package/dist/helper/schema_helper/build_concept_facts_schema.js +20 -5
  26. package/dist/helper/schema_helper/build_concept_facts_schema.js.map +1 -1
  27. package/dist/helper/schema_helper/build_summary_schema.d.ts +1 -1
  28. package/dist/helper/schema_helper/build_summary_schema.d.ts.map +1 -1
  29. package/dist/helper/schema_helper/build_summary_schema.js +18 -7
  30. package/dist/helper/schema_helper/build_summary_schema.js.map +1 -1
  31. package/dist/index.d.ts +0 -2
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +10 -9
  34. package/dist/index.js.map +1 -1
  35. package/dist/parse/response_format_card.d.ts +176 -176
  36. package/dist/parse/response_format_card.js +371 -371
  37. package/dist/parse/response_format_typology.d.ts +1 -1
  38. package/dist/parse/response_format_typology.js +46 -46
  39. package/dist/services/get_prompts.d.ts +8 -7
  40. package/dist/services/get_prompts.d.ts.map +1 -1
  41. package/dist/services/get_prompts.js +69 -21
  42. package/dist/services/get_prompts.js.map +1 -1
  43. package/dist/typology_gen/generate_concept_facts.d.ts +2 -3
  44. package/dist/typology_gen/generate_concept_facts.d.ts.map +1 -1
  45. package/dist/typology_gen/generate_concept_facts.js +25 -15
  46. package/dist/typology_gen/generate_concept_facts.js.map +1 -1
  47. package/dist/typology_gen/generate_typology.d.ts +2 -1
  48. package/dist/typology_gen/generate_typology.d.ts.map +1 -1
  49. package/dist/typology_gen/generate_typology.js +24 -13
  50. package/dist/typology_gen/generate_typology.js.map +1 -1
  51. package/dist/typology_gen/summarize.d.ts +2 -3
  52. package/dist/typology_gen/summarize.d.ts.map +1 -1
  53. package/dist/typology_gen/summarize.js +24 -13
  54. package/dist/typology_gen/summarize.js.map +1 -1
  55. package/package.json +39 -38
  56. package/src/bootstrap/app.ts +418 -416
  57. package/src/card_gen/generate_cards.ts +347 -345
  58. package/src/config.ts +11 -11
  59. package/src/constants/api_constants.ts +7 -7
  60. package/src/constants/prompts/card_gen_prompt.ts +164 -164
  61. package/src/constants/prompts/typology_prompt.ts +139 -139
  62. package/src/embedding_generation/consolidation/global_consolidation.ts +96 -96
  63. package/src/embedding_generation/consolidation/local_consolidation.ts +141 -141
  64. package/src/embedding_generation/consolidation/write_consolidated_data.ts +98 -98
  65. package/src/embedding_generation/generate_embeddings.ts +42 -42
  66. package/src/embedding_generation/parse_embedding_response.ts +31 -31
  67. package/src/enums/card_type_enum.ts +6 -6
  68. package/src/gap_fill/calculate_gap_fill.ts +50 -50
  69. package/src/helper/get_id_from_title.ts +33 -33
  70. package/src/helper/mongo_helper.ts +29 -29
  71. package/src/helper/openai_helper.ts +20 -20
  72. package/src/helper/qdrant_db_methods.ts +77 -77
  73. package/src/helper/schema_helper/build_card_schema.ts +74 -98
  74. package/src/helper/schema_helper/build_classify_summarize_schema.ts +43 -43
  75. package/src/helper/schema_helper/build_concept_facts_schema.ts +45 -31
  76. package/src/helper/schema_helper/build_summary_schema.ts +43 -32
  77. package/src/index.ts +71 -73
  78. package/src/logger.ts +65 -65
  79. package/src/parse/parse_card/parse_cloze_card.ts +146 -146
  80. package/src/parse/parse_card/parse_flash_cards.ts +42 -42
  81. package/src/parse/parse_card/parse_match_card.ts +104 -104
  82. package/src/parse/parse_card/parse_mcq_card.ts +114 -114
  83. package/src/parse/parse_card_response.ts +197 -197
  84. package/src/parse/parse_source_content.ts +212 -212
  85. package/src/services/get_prompts.ts +164 -112
  86. package/src/services/open_ai_service.ts +89 -89
  87. package/src/services/qdrant_service.ts +10 -10
  88. package/src/types/base_param_type.ts +13 -13
  89. package/src/types/mongo_concept_fact_type.ts +12 -12
  90. package/src/types/parsed_card_type.ts +39 -39
  91. package/src/types/raw_card_response_types/generated_card_response_type.ts +59 -59
  92. package/src/types/source_taxonomy_type.ts +24 -24
  93. package/src/typology-parsed-response.ts +1932 -1932
  94. package/src/typology_gen/generate_concept_facts.ts +180 -169
  95. package/src/typology_gen/generate_typology.ts +203 -189
  96. package/src/typology_gen/summarize.ts +176 -164
  97. package/src/utils/distributed_quote_restoration.ts +80 -80
  98. package/src/utils/generate_args.ts +29 -29
  99. package/src/utils/parse_openai_response.ts +19 -19
  100. package/src/utils/sanitize_strings.ts +65 -65
  101. package/tsconfig.json +16 -16
  102. package/dist/constants/default_generation_variables.d.ts +0 -3
  103. package/dist/constants/default_generation_variables.d.ts.map +0 -1
  104. package/dist/constants/default_generation_variables.js +0 -580
  105. package/dist/constants/default_generation_variables.js.map +0 -1
  106. package/dist/services/prompts_test.d.ts +0 -10
  107. package/dist/services/prompts_test.d.ts.map +0 -1
  108. package/dist/services/prompts_test.js +0 -227
  109. package/dist/services/prompts_test.js.map +0 -1
  110. package/dist/types/generation_variables_schema.d.ts +0 -14
  111. package/dist/types/generation_variables_schema.d.ts.map +0 -1
  112. package/dist/types/generation_variables_schema.js +0 -3
  113. package/dist/types/generation_variables_schema.js.map +0 -1
  114. package/dist/utils/test.d.ts +0 -2
  115. package/dist/utils/test.d.ts.map +0 -1
  116. package/dist/utils/test.js +0 -5
  117. package/dist/utils/test.js.map +0 -1
  118. package/src/constants/default_generation_variables.ts +0 -624
  119. package/src/types/generation_variables_schema.ts +0 -16
@@ -1 +1 @@
1
- export declare function returnTypologyData(): any;
1
+ export declare function returnTypologyData(): any;
@@ -1,47 +1,47 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.returnTypologyData = returnTypologyData;
4
- const typologyResponse = {
5
- usage_data: {
6
- prompt_tokens: 11611,
7
- completion_tokens: 441,
8
- total_tokens: 12052,
9
- },
10
- generated_content: {
11
- field: [
12
- "Sciences",
13
- "Technology & Engineering",
14
- "Education, Learning & Personal Development",
15
- ],
16
- concepts: [
17
- "Electrolysis",
18
- "Faraday's Laws of Electrolysis",
19
- "Electrolytic Cell",
20
- "Decomposition Potential",
21
- "Oxidation and Reduction at the Electrodes",
22
- "Electrolysis of Water",
23
- "Electrolysis of Carbon Dioxide",
24
- "Electrocrystallization",
25
- ],
26
- facts: [
27
- "Electrolysis is the passing of a direct electric current through an electrolyte producing chemical reactions at the electrodes and decomposition of the materials.",
28
- "In electrolysis, the quantity of the products is proportional to the current, and when two or more electrolytic cells are connected in series to the same power source, the products produced in the cells are proportional to their equivalent weight.",
29
- "The main components required to achieve electrolysis are an electrolyte, electrodes, and an external power source.",
30
- "Faraday's laws of electrolysis detail the amount of the products of electrolysis is related to the number of electrons in the reaction at the electrodes.",
31
- "Decomposition potential or decomposition voltage refers to the minimum voltage between anode and cathode of an electrolytic cell that is needed for electrolysis to occur.",
32
- "The electrochemical reduction of carbon dioxide can produce value-added chemicals such as methane, ethylene, and ethanol.",
33
- ],
34
- generate_cards: true,
35
- summary_cards: [
36
- "Electrolysis is the process of passing direct electric current through an electrolyte, resulting in chemical reactions and the decomposition of materials.",
37
- "Faraday's laws of electrolysis determine the relationship between the amounts of products generated and the electrons involved in the reaction at the electrodes.",
38
- "Decomposition potential is the minimum voltage required between anode and cathode for electrolysis to occur.",
39
- "The electrochemical reduction of carbon dioxide is a potential method for producing valuable chemicals such as methane, ethylene, and ethanol.",
40
- ],
41
- },
42
- generated_at: "Tue, 20 Jan 1970 21:17:46 GMT",
43
- };
44
- function returnTypologyData() {
45
- return typologyResponse;
46
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.returnTypologyData = returnTypologyData;
4
+ const typologyResponse = {
5
+ usage_data: {
6
+ prompt_tokens: 11611,
7
+ completion_tokens: 441,
8
+ total_tokens: 12052,
9
+ },
10
+ generated_content: {
11
+ field: [
12
+ "Sciences",
13
+ "Technology & Engineering",
14
+ "Education, Learning & Personal Development",
15
+ ],
16
+ concepts: [
17
+ "Electrolysis",
18
+ "Faraday's Laws of Electrolysis",
19
+ "Electrolytic Cell",
20
+ "Decomposition Potential",
21
+ "Oxidation and Reduction at the Electrodes",
22
+ "Electrolysis of Water",
23
+ "Electrolysis of Carbon Dioxide",
24
+ "Electrocrystallization",
25
+ ],
26
+ facts: [
27
+ "Electrolysis is the passing of a direct electric current through an electrolyte producing chemical reactions at the electrodes and decomposition of the materials.",
28
+ "In electrolysis, the quantity of the products is proportional to the current, and when two or more electrolytic cells are connected in series to the same power source, the products produced in the cells are proportional to their equivalent weight.",
29
+ "The main components required to achieve electrolysis are an electrolyte, electrodes, and an external power source.",
30
+ "Faraday's laws of electrolysis detail the amount of the products of electrolysis is related to the number of electrons in the reaction at the electrodes.",
31
+ "Decomposition potential or decomposition voltage refers to the minimum voltage between anode and cathode of an electrolytic cell that is needed for electrolysis to occur.",
32
+ "The electrochemical reduction of carbon dioxide can produce value-added chemicals such as methane, ethylene, and ethanol.",
33
+ ],
34
+ generate_cards: true,
35
+ summary_cards: [
36
+ "Electrolysis is the process of passing direct electric current through an electrolyte, resulting in chemical reactions and the decomposition of materials.",
37
+ "Faraday's laws of electrolysis determine the relationship between the amounts of products generated and the electrons involved in the reaction at the electrodes.",
38
+ "Decomposition potential is the minimum voltage required between anode and cathode for electrolysis to occur.",
39
+ "The electrochemical reduction of carbon dioxide is a potential method for producing valuable chemicals such as methane, ethylene, and ethanol.",
40
+ ],
41
+ },
42
+ generated_at: "Tue, 20 Jan 1970 21:17:46 GMT",
43
+ };
44
+ function returnTypologyData() {
45
+ return typologyResponse;
46
+ }
47
47
  //# sourceMappingURL=response_format_typology.js.map
@@ -1,11 +1,12 @@
1
- export declare const promptIds: {
2
- classify: string;
3
- conceptFacts: string;
4
- cardGeneration: string;
5
- missingConceptsFacts: string;
6
- summarize: string;
7
- };
8
1
  export declare const getPrompts: (sourceType: string, cardGenerationType: string[]) => Promise<{
2
+ typology: {
3
+ prompt: any;
4
+ ids: string[];
5
+ };
6
+ card_gen: {
7
+ prompt: any;
8
+ ids: string[];
9
+ };
9
10
  card_instructions: any;
10
11
  card_examples: any;
11
12
  bloom_instructions: any;
@@ -1 +1 @@
1
- {"version":3,"file":"get_prompts.d.ts","sourceRoot":"","sources":["../../src/services/get_prompts.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;;;;;CAMrB,CAAC;AAoBF,eAAO,MAAM,UAAU,GACrB,YAAY,MAAM,EAClB,oBAAoB,MAAM,EAAE;;;;EAiF7B,CAAC"}
1
+ {"version":3,"file":"get_prompts.d.ts","sourceRoot":"","sources":["../../src/services/get_prompts.ts"],"names":[],"mappings":"AAuDA,eAAO,MAAM,UAAU,GACrB,YAAY,MAAM,EAClB,oBAAoB,MAAM,EAAE;;;;;;;;;;;;EA0G7B,CAAC"}
@@ -9,14 +9,40 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.getPrompts = exports.promptIds = void 0;
12
+ exports.getPrompts = void 0;
13
13
  const mongo_helper_1 = require("../helper/mongo_helper");
14
- exports.promptIds = {
15
- classify: "pmpt_687a8872d1c8819088a9cdc97dcb688b0893663621695594",
16
- conceptFacts: "pmpt_687aa547f99c8193b99467ca53630c2607f5a8caf451e7e8",
17
- cardGeneration: "pmpt_688118a923e4819098176a13a2f401920d2ea17d881cc6c6",
18
- missingConceptsFacts: "pmpt_687ab50298dc8194b214804999d23df10e03b855371691f9",
19
- summarize: "pmpt_6902c30a973481968395935cc6dfa78605f50d2b01d4afbd",
14
+ const typologyDocs = {
15
+ role: "676528fc59c0563f42607add",
16
+ input: "6765298059c0563f42607ade",
17
+ steps: "6765298b59c0563f42607adf",
18
+ schema: "6765299559c0563f42607ae0",
19
+ fields: "676529a259c0563f42607ae1",
20
+ concepts: "676529b759c0563f42607ae2",
21
+ facts: "67652b1659c0563f42607aea",
22
+ generate: "676529c259c0563f42607ae3",
23
+ summarize: "676529d259c0563f42607ae4",
24
+ };
25
+ const cardGenDocs = {
26
+ role: "676526c959c0563f42607ad4",
27
+ inputs: "676526c959c0563f42607ad5",
28
+ steps: "676526c959c0563f42607ad6",
29
+ schema: "676526c959c0563f42607ad7",
30
+ cloze: "6765270859c0563f42607ad8",
31
+ flash: "6765274159c0563f42607ad9",
32
+ match: "6765276959c0563f42607adb",
33
+ mcq: "6765275f59c0563f42607ada",
34
+ coverage: "6765277a59c0563f42607adc",
35
+ };
36
+ const videoTypologyDocs = {
37
+ role: "676529e259c0563f42607ae5",
38
+ inputs: "676529f059c0563f42607ae6",
39
+ steps: "6765298b59c0563f42607adf",
40
+ schema: "67652a2559c0563f42607ae7",
41
+ fields: "676529a259c0563f42607ae1",
42
+ concepts: "67652a3459c0563f42607ae8",
43
+ facts: "67652a4459c0563f42607ae9",
44
+ generate: "676529c259c0563f42607ae3",
45
+ summarize: "676529d259c0563f42607ae4",
20
46
  };
21
47
  const cardGenInstructionsDocs = {
22
48
  cloze: "6780d21318f81be17e39f5c1",
@@ -37,15 +63,9 @@ const getPrompts = (sourceType, cardGenerationType) => __awaiter(void 0, void 0,
37
63
  // const typologyDocs = JSON.parse(baseConfig.typologyPrompts);
38
64
  // const cardGenerationDocs = JSON.parse(baseConfig.cardGenerationPrompts);
39
65
  // const videoTypologyDocs = JSON.parse(baseConfig.videoTypologyPrompts);
40
- // const typologyObjectIds = Object.values(typologyDocs).map((e: any) =>
41
- // ObjectId.createFromHexString(e.toString())
42
- // );
43
- // const cardGenObjectIds = Object.values(cardGenDocs).map((e: any) =>
44
- // ObjectId.createFromHexString(e)
45
- // );
46
- // const typologyVideoObjectIds = Object.values(videoTypologyDocs).map(
47
- // (e: any) => ObjectId.createFromHexString(e)
48
- // );
66
+ const typologyObjectIds = Object.values(typologyDocs).map((e) => mongo_helper_1.ObjectId.createFromHexString(e.toString()));
67
+ const cardGenObjectIds = Object.values(cardGenDocs).map((e) => mongo_helper_1.ObjectId.createFromHexString(e));
68
+ const typologyVideoObjectIds = Object.values(videoTypologyDocs).map((e) => mongo_helper_1.ObjectId.createFromHexString(e));
49
69
  // Filter card generation instructions and examples based on cardGenerationType array
50
70
  const filteredCardGenInstructions = {};
51
71
  const filteredCardGenExamples = {};
@@ -62,14 +82,42 @@ const getPrompts = (sourceType, cardGenerationType) => __awaiter(void 0, void 0,
62
82
  const cardGenInstructionsObjectIds = Object.values(filteredCardGenInstructions).map((e) => mongo_helper_1.ObjectId.createFromHexString(e));
63
83
  const cardGenExamplesObjectIds = Object.values(filteredCardGenExamples).map((e) => mongo_helper_1.ObjectId.createFromHexString(e));
64
84
  const bloomInstructionsObjectIds = Object.values(bloomInstructionsDocs).map((e) => mongo_helper_1.ObjectId.createFromHexString(e));
85
+ const typology = yield getPromptString(typologyObjectIds);
86
+ const card_generation = yield getPromptString(cardGenObjectIds);
87
+ const video_typology = yield getPromptString(typologyVideoObjectIds);
65
88
  const cardInstructions = yield getPromptString(cardGenInstructionsObjectIds);
66
89
  const cardExamples = yield getPromptString(cardGenExamplesObjectIds);
67
90
  const bloomInstructions = yield getPromptString(bloomInstructionsObjectIds);
68
- return {
69
- card_instructions: cardInstructions,
70
- card_examples: cardExamples,
71
- bloom_instructions: bloomInstructions,
72
- };
91
+ if (sourceType === "video") {
92
+ return {
93
+ typology: {
94
+ prompt: video_typology,
95
+ ids: Object.values(videoTypologyDocs),
96
+ },
97
+ card_gen: {
98
+ prompt: card_generation,
99
+ ids: Object.values(cardGenDocs),
100
+ },
101
+ card_instructions: cardInstructions,
102
+ card_examples: cardExamples,
103
+ bloom_instructions: bloomInstructions,
104
+ };
105
+ }
106
+ else {
107
+ return {
108
+ typology: {
109
+ prompt: typology,
110
+ ids: Object.values(typologyDocs),
111
+ },
112
+ card_gen: {
113
+ prompt: card_generation,
114
+ ids: Object.values(cardGenDocs),
115
+ },
116
+ card_instructions: cardInstructions,
117
+ card_examples: cardExamples,
118
+ bloom_instructions: bloomInstructions,
119
+ };
120
+ }
73
121
  function getPromptString(promptIds) {
74
122
  return __awaiter(this, void 0, void 0, function* () {
75
123
  const database = yield (0, mongo_helper_1.setUpMongoClient)();
@@ -1 +1 @@
1
- {"version":3,"file":"get_prompts.js","sourceRoot":"","sources":["../../src/services/get_prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get_prompts.js","sourceRoot":"","sources":["../../src/services/get_prompts.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,10 @@
1
1
  import { OpenAIHelper } from "../helper/openai_helper";
2
2
  import { OpenAiService } from "../services/open_ai_service";
3
- import { GenerationVariablesSchema } from "../types/generation_variables_schema";
4
3
  export declare class GenerateConceptFacts {
5
4
  openAiService: OpenAiService;
6
5
  openAIHelper: OpenAIHelper;
7
6
  sourceId: string;
8
7
  generationCurriculum: boolean;
9
- generationVariablesSchema: GenerationVariablesSchema;
10
8
  content: {
11
9
  title: string;
12
10
  h1_headings?: string[];
@@ -14,12 +12,13 @@ export declare class GenerateConceptFacts {
14
12
  content: any[];
15
13
  };
16
14
  type: string;
15
+ promptIdForConceptFacts: string;
17
16
  constructor(openAiService: OpenAiService, sourceId: string, content: {
18
17
  title: string;
19
18
  h1_headings?: string[];
20
19
  timecodes?: string[];
21
20
  content: any[];
22
- }, type: string, generationCurriculum: boolean, generationVariablesSchema: GenerationVariablesSchema);
21
+ }, type: string, promptIdForConceptFacts: string, generationCurriculum: boolean);
23
22
  generate(): Promise<{
24
23
  concepts_facts: any;
25
24
  metadata: any;
@@ -1 +1 @@
1
- {"version":3,"file":"generate_concept_facts.d.ts","sourceRoot":"","sources":["../../src/typology_gen/generate_concept_facts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAM5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAGjF,qBAAa,oBAAoB;IACxB,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,OAAO,EAAE;QACd,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,GAAG,EAAE,CAAC;KAChB,CAAC;IACK,IAAI,EAAE,MAAM,CAAM;gBAEvB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,GAAG,EAAE,CAAC;KAChB,EACD,IAAI,EAAE,MAAM,EACZ,oBAAoB,EAAE,OAAO,EAC7B,yBAAyB,EAAE,yBAAyB;IAWhD,QAAQ;;;;IAwGd,SAAS,CAAC,QAAQ,EAAE,GAAG;CAkBxB"}
1
+ {"version":3,"file":"generate_concept_facts.d.ts","sourceRoot":"","sources":["../../src/typology_gen/generate_concept_facts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAQ5D,qBAAa,oBAAoB;IACxB,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,OAAO,EAAE;QACd,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,GAAG,EAAE,CAAC;KAChB,CAAC;IACK,IAAI,EAAE,MAAM,CAAM;IAClB,uBAAuB,EAAE,MAAM,CAAC;gBAErC,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,GAAG,EAAE,CAAC;KAChB,EACD,IAAI,EAAE,MAAM,EACZ,uBAAuB,EAAE,MAAM,EAC/B,oBAAoB,EAAE,OAAO;IAWzB,QAAQ;;;;IAuGd,SAAS,CAAC,QAAQ,EAAE,GAAG;CA+BxB"}
@@ -14,17 +14,17 @@ const build_concept_facts_schema_1 = require("../helper/schema_helper/build_conc
14
14
  const openai_helper_1 = require("../helper/openai_helper");
15
15
  const logger_1 = require("../logger");
16
16
  const sanitize_strings_1 = require("../utils/sanitize_strings");
17
- const get_prompts_1 = require("../services/get_prompts");
17
+ const jsonrepair_1 = require("jsonrepair");
18
18
  class GenerateConceptFacts {
19
- constructor(openAiService, sourceId, content, type, generationCurriculum, generationVariablesSchema) {
19
+ constructor(openAiService, sourceId, content, type, promptIdForConceptFacts, generationCurriculum) {
20
20
  this.type = "";
21
21
  this.openAiService = openAiService;
22
22
  this.openAIHelper = new openai_helper_1.OpenAIHelper(this.openAiService.api_key);
23
23
  this.content = content;
24
+ this.promptIdForConceptFacts = promptIdForConceptFacts;
24
25
  this.type = type;
25
26
  this.sourceId = sourceId;
26
27
  this.generationCurriculum = generationCurriculum;
27
- this.generationVariablesSchema = generationVariablesSchema;
28
28
  }
29
29
  generate() {
30
30
  return __awaiter(this, void 0, void 0, function* () {
@@ -33,13 +33,11 @@ class GenerateConceptFacts {
33
33
  const headings = this.type === "text"
34
34
  ? this.content.h1_headings || [""]
35
35
  : this.content.timecodes || [""];
36
- // const schema =
37
- // this.generationVariablesSchema.output_schema.concepts_facts;
38
- const schema = yield (0, build_concept_facts_schema_1.buildConceptFactSchema)(headings.length > 0 ? headings : [""], this.generationVariablesSchema.output_schema.concepts_facts);
36
+ const schema = yield (0, build_concept_facts_schema_1.buildConceptFactSchema)(headings.length > 0 ? headings : [""], "concept_fact_gen_schema", true);
39
37
  const openAiResponse = yield this.openAIHelper.openAI.responses.create({
40
38
  prompt: {
41
- id: get_prompts_1.promptIds.conceptFacts,
42
- // version: "200",
39
+ id: this.promptIdForConceptFacts,
40
+ version: "200",
43
41
  variables: {
44
42
  heading_type: this.type == "video" ? "timecode" : "h1 heading",
45
43
  },
@@ -126,17 +124,29 @@ class GenerateConceptFacts {
126
124
  });
127
125
  }
128
126
  parseJson(response) {
127
+ let parsedJson;
129
128
  try {
130
- const concepts_facts = JSON.parse(response.output_text).concepts_facts;
131
- if (concepts_facts) {
132
- return concepts_facts.map((item) => {
133
- return Object.assign(Object.assign({}, item), { reference: (0, sanitize_strings_1.restoreQuotesInString)(item.reference) });
134
- });
135
- }
129
+ parsedJson = JSON.parse(response.output_text);
136
130
  }
137
131
  catch (e) {
138
- throw new logger_1.ParsingError("Something went wrong in parsing the json", response);
132
+ // If original JSON parse fails, attempt to repair and parse
133
+ try {
134
+ const repairedJson = (0, jsonrepair_1.jsonrepair)(response.output_text);
135
+ parsedJson = JSON.parse(repairedJson);
136
+ }
137
+ catch (repairError) {
138
+ // If repair also fails, throw exception
139
+ throw new logger_1.ParsingError("Something went wrong in repairing the json", response);
140
+ }
141
+ }
142
+ // Process the parsed content (same flow for both original and repaired JSON)
143
+ const concepts_facts = parsedJson.concepts_facts;
144
+ if (concepts_facts) {
145
+ return concepts_facts.map((item) => {
146
+ return Object.assign(Object.assign({}, item), { reference: (0, sanitize_strings_1.restoreQuotesInString)(item.reference) });
147
+ });
139
148
  }
149
+ return [];
140
150
  }
141
151
  }
142
152
  exports.GenerateConceptFacts = GenerateConceptFacts;
@@ -1 +1 @@
1
- {"version":3,"file":"generate_concept_facts.js","sourceRoot":"","sources":["../../src/typology_gen/generate_concept_facts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate_concept_facts.js","sourceRoot":"","sources":["../../src/typology_gen/generate_concept_facts.ts"],"names":[],"mappings":"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"}
@@ -10,13 +10,14 @@ export declare class GenerateTypology {
10
10
  timecodes?: string[];
11
11
  content: any[];
12
12
  };
13
+ promptIdForTypology: string;
13
14
  expectedFields: Array<string>;
14
15
  constructor(openAiService: OpenAiService, type: string, sourceId: string, content: {
15
16
  title: string;
16
17
  h1_headings?: string[];
17
18
  timecodes?: string[];
18
19
  content: any[];
19
- }, expected_fields: Array<string>, generationCurriculum: boolean);
20
+ }, expected_fields: Array<string>, promptIdForTypology: string, generationCurriculum: boolean);
20
21
  generate(): Promise<any>;
21
22
  parseTypologyOnSuccess(responseData: any): {
22
23
  status_code: number;
@@ -1 +1 @@
1
- {"version":3,"file":"generate_typology.d.ts","sourceRoot":"","sources":["../../src/typology_gen/generate_typology.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,qBAAa,gBAAgB;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAM;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,OAAO,EAAE;QACd,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,GAAG,EAAE,CAAC;KAChB,CAAC;IACF,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAE5B,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,GAAG,EAAE,CAAC;KAChB,EACD,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,EAC9B,oBAAoB,EAAE,OAAO;IAWzB,QAAQ;IA2Fd,sBAAsB,CAAC,YAAY,EAAE,GAAG;;;;;;;;;;IAgBxC,SAAS,CAAC,QAAQ,EAAE,GAAG;IAyBvB,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;;;;IAQ3B,sBAAsB,CAAC,YAAY,EAAE,GAAG;;;;CAQ/C"}
1
+ {"version":3,"file":"generate_typology.d.ts","sourceRoot":"","sources":["../../src/typology_gen/generate_typology.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAI5D,qBAAa,gBAAgB;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAM;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,OAAO,EAAE;QACd,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,GAAG,EAAE,CAAC;KAChB,CAAC;IACK,mBAAmB,EAAE,MAAM,CAAC;IACnC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAE5B,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,GAAG,EAAE,CAAC;KAChB,EACD,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,EAC9B,mBAAmB,EAAE,MAAM,EAC3B,oBAAoB,EAAE,OAAO;IAYzB,QAAQ;IA2Fd,sBAAsB,CAAC,YAAY,EAAE,GAAG;;;;;;;;;;IAgBxC,SAAS,CAAC,QAAQ,EAAE,GAAG;IAoCvB,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;;;;IAQ3B,sBAAsB,CAAC,YAAY,EAAE,GAAG;;;;CAQ/C"}
@@ -12,16 +12,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.GenerateTypology = void 0;
13
13
  const openai_helper_1 = require("../helper/openai_helper");
14
14
  const logger_1 = require("../logger");
15
- const get_prompts_1 = require("../services/get_prompts");
16
15
  const sanitize_strings_1 = require("../utils/sanitize_strings");
16
+ const jsonrepair_1 = require("jsonrepair");
17
17
  class GenerateTypology {
18
- constructor(openAiService, type, sourceId, content, expected_fields, generationCurriculum) {
18
+ constructor(openAiService, type, sourceId, content, expected_fields, promptIdForTypology, generationCurriculum) {
19
19
  this.type = "";
20
20
  this.openAiService = openAiService;
21
21
  this.type = type;
22
22
  this.sourceId = sourceId;
23
23
  this.content = content;
24
24
  this.expectedFields = expected_fields.map((elem) => elem.toString().toUpperCase());
25
+ this.promptIdForTypology = promptIdForTypology;
25
26
  this.generationCurriculum = generationCurriculum;
26
27
  }
27
28
  generate() {
@@ -31,7 +32,7 @@ class GenerateTypology {
31
32
  const openAIHelper = new openai_helper_1.OpenAIHelper(this.openAiService.api_key);
32
33
  const openAiResponse = yield openAIHelper.openAI.responses.create({
33
34
  prompt: {
34
- id: get_prompts_1.promptIds.classify,
35
+ id: this.promptIdForTypology,
35
36
  variables: {
36
37
  heading_type: this.type == "video" ? "timecode" : "h1 heading",
37
38
  },
@@ -131,20 +132,30 @@ class GenerateTypology {
131
132
  }
132
133
  parseJson(response) {
133
134
  var _a;
135
+ let generatedContent;
134
136
  try {
135
- const generatedContent = JSON.parse(response.output_text);
136
- const summaryCards = (_a = generatedContent === null || generatedContent === void 0 ? void 0 : generatedContent.summary_cards) !== null && _a !== void 0 ? _a : [];
137
- if (summaryCards) {
138
- const remappedSummaryCards = summaryCards.map((item) => {
139
- return Object.assign(Object.assign({}, item), { reference: (0, sanitize_strings_1.restoreQuotesInString)(item.reference) });
140
- });
141
- return Object.assign(Object.assign({}, generatedContent), { summary_cards: remappedSummaryCards });
142
- }
143
- return generatedContent;
137
+ generatedContent = JSON.parse(response.output_text);
144
138
  }
145
139
  catch (e) {
146
- throw new logger_1.ParsingError("Something went wrong in parsing the json", response);
140
+ // If original JSON parse fails, attempt to repair and parse
141
+ try {
142
+ const repairedJson = (0, jsonrepair_1.jsonrepair)(response.output_text);
143
+ generatedContent = JSON.parse(repairedJson);
144
+ }
145
+ catch (repairError) {
146
+ // If repair also fails, throw exception
147
+ throw new logger_1.ParsingError("Something went wrong in repairing the json", response);
148
+ }
149
+ }
150
+ // Process the parsed content (same flow for both original and repaired JSON)
151
+ const summaryCards = (_a = generatedContent === null || generatedContent === void 0 ? void 0 : generatedContent.summary_cards) !== null && _a !== void 0 ? _a : [];
152
+ if (summaryCards) {
153
+ const remappedSummaryCards = summaryCards.map((item) => {
154
+ return Object.assign(Object.assign({}, item), { reference: (0, sanitize_strings_1.restoreQuotesInString)(item.reference) });
155
+ });
156
+ return Object.assign(Object.assign({}, generatedContent), { summary_cards: remappedSummaryCards });
147
157
  }
158
+ return generatedContent;
148
159
  }
149
160
  parseFields(fields) {
150
161
  const fieldKeys = ["primary_field", "secondary_field", "tertiary_field"];
@@ -1 +1 @@
1
- {"version":3,"file":"generate_typology.js","sourceRoot":"","sources":["../../src/typology_gen/generate_typology.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate_typology.js","sourceRoot":"","sources":["../../src/typology_gen/generate_typology.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,10 @@
1
1
  import { OpenAIHelper } from "../helper/openai_helper";
2
2
  import { OpenAiService } from "../services/open_ai_service";
3
- import { GenerationVariablesSchema } from "../types/generation_variables_schema";
4
3
  export declare class GenerateSummaryCards {
5
4
  openAiService: OpenAiService;
6
5
  openAIHelper: OpenAIHelper;
7
6
  sourceId: string;
8
7
  generationCurriculum: boolean;
9
- generationVariablesSchema: GenerationVariablesSchema;
10
8
  content: {
11
9
  title: string;
12
10
  h1_headings?: string[];
@@ -14,12 +12,13 @@ export declare class GenerateSummaryCards {
14
12
  content: any[];
15
13
  };
16
14
  type: string;
15
+ promptIdForSummaryCards: string;
17
16
  constructor(openAiService: OpenAiService, sourceId: string, content: {
18
17
  title: string;
19
18
  h1_headings?: string[];
20
19
  timecodes?: string[];
21
20
  content: any[];
22
- }, type: string, generationCurriculum: boolean, generationVariablesSchema: GenerationVariablesSchema);
21
+ }, type: string, promptIdForSummaryCards: string, generationCurriculum: boolean);
23
22
  generate(): Promise<{
24
23
  summary_cards: any;
25
24
  metadata: any;
@@ -1 +1 @@
1
- {"version":3,"file":"summarize.d.ts","sourceRoot":"","sources":["../../src/typology_gen/summarize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAI5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAGjF,qBAAa,oBAAoB;IACxB,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,OAAO,EAAE;QACd,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,GAAG,EAAE,CAAC;KAChB,CAAC;IACK,IAAI,EAAE,MAAM,CAAM;gBAEvB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,GAAG,EAAE,CAAC;KAChB,EACD,IAAI,EAAE,MAAM,EACZ,oBAAoB,EAAE,OAAO,EAC7B,yBAAyB,EAAE,yBAAyB;IAWhD,QAAQ;;;;IAsGd,SAAS,CAAC,QAAQ,EAAE,GAAG;CAkBxB"}
1
+ {"version":3,"file":"summarize.d.ts","sourceRoot":"","sources":["../../src/typology_gen/summarize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAM5D,qBAAa,oBAAoB;IACxB,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,OAAO,EAAE;QACd,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,GAAG,EAAE,CAAC;KAChB,CAAC;IACK,IAAI,EAAE,MAAM,CAAM;IAClB,uBAAuB,EAAE,MAAM,CAAC;gBAErC,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,GAAG,EAAE,CAAC;KAChB,EACD,IAAI,EAAE,MAAM,EACZ,uBAAuB,EAAE,MAAM,EAC/B,oBAAoB,EAAE,OAAO;IAWzB,QAAQ;;;;IAsGd,SAAS,CAAC,QAAQ,EAAE,GAAG;CA+BxB"}
@@ -14,17 +14,17 @@ const openai_helper_1 = require("../helper/openai_helper");
14
14
  const logger_1 = require("../logger");
15
15
  const sanitize_strings_1 = require("../utils/sanitize_strings");
16
16
  const build_summary_schema_1 = require("../helper/schema_helper/build_summary_schema");
17
- const get_prompts_1 = require("../services/get_prompts");
17
+ const jsonrepair_1 = require("jsonrepair");
18
18
  class GenerateSummaryCards {
19
- constructor(openAiService, sourceId, content, type, generationCurriculum, generationVariablesSchema) {
19
+ constructor(openAiService, sourceId, content, type, promptIdForSummaryCards, generationCurriculum) {
20
20
  this.type = "";
21
21
  this.openAiService = openAiService;
22
22
  this.openAIHelper = new openai_helper_1.OpenAIHelper(this.openAiService.api_key);
23
23
  this.content = content;
24
+ this.promptIdForSummaryCards = promptIdForSummaryCards;
24
25
  this.type = type;
25
26
  this.sourceId = sourceId;
26
27
  this.generationCurriculum = generationCurriculum;
27
- this.generationVariablesSchema = generationVariablesSchema;
28
28
  }
29
29
  generate() {
30
30
  return __awaiter(this, void 0, void 0, function* () {
@@ -33,11 +33,10 @@ class GenerateSummaryCards {
33
33
  const headings = this.type === "text"
34
34
  ? this.content.h1_headings || [""]
35
35
  : this.content.timecodes || [""];
36
- const schema = yield (0, build_summary_schema_1.buildSummarySchema)(headings.length > 0 ? headings : [""], this.generationVariablesSchema.output_schema.summary);
37
- // const schema = this.generationVariablesSchema.output_schema.summary;
36
+ const schema = yield (0, build_summary_schema_1.buildSummarySchema)(headings.length > 0 ? headings : [""], "summary_cards", true);
38
37
  const openAiResponse = yield this.openAIHelper.openAI.responses.create({
39
38
  prompt: {
40
- id: get_prompts_1.promptIds.summarize,
39
+ id: this.promptIdForSummaryCards,
41
40
  variables: {
42
41
  heading_type: this.type == "video" ? "timecode" : "h1 heading",
43
42
  },
@@ -125,17 +124,29 @@ class GenerateSummaryCards {
125
124
  });
126
125
  }
127
126
  parseJson(response) {
127
+ let parsedJson;
128
128
  try {
129
- const summaryCards = JSON.parse(response.output_text).summary_cards;
130
- if (summaryCards) {
131
- return summaryCards.map((item) => {
132
- return Object.assign(Object.assign({}, item), { reference: (0, sanitize_strings_1.restoreQuotesInString)(item.reference) });
133
- });
134
- }
129
+ parsedJson = JSON.parse(response.output_text);
135
130
  }
136
131
  catch (e) {
137
- throw new logger_1.ParsingError("Something went wrong in parsing the json", response);
132
+ // If original JSON parse fails, attempt to repair and parse
133
+ try {
134
+ const repairedJson = (0, jsonrepair_1.jsonrepair)(response.output_text);
135
+ parsedJson = JSON.parse(repairedJson);
136
+ }
137
+ catch (repairError) {
138
+ // If repair also fails, throw exception
139
+ throw new logger_1.ParsingError("Something went wrong in repairing the json", response);
140
+ }
141
+ }
142
+ // Process the parsed content (same flow for both original and repaired JSON)
143
+ const summaryCards = parsedJson.summary_cards;
144
+ if (summaryCards) {
145
+ return summaryCards.map((item) => {
146
+ return Object.assign(Object.assign({}, item), { reference: (0, sanitize_strings_1.restoreQuotesInString)(item.reference) });
147
+ });
138
148
  }
149
+ return [];
139
150
  }
140
151
  }
141
152
  exports.GenerateSummaryCards = GenerateSummaryCards;