@bemoje/cli 0.1.27 → 0.2.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 (176) hide show
  1. package/cjs/arg/ArgumentBuilder.d.ts +23 -0
  2. package/cjs/arg/ArgumentBuilder.d.ts.map +1 -0
  3. package/cjs/arg/ArgumentBuilder.js +52 -0
  4. package/cjs/arg/ArgumentBuilder.js.map +1 -0
  5. package/cjs/arg/ArgumentParserSelector.d.ts +9 -0
  6. package/cjs/arg/ArgumentParserSelector.d.ts.map +1 -0
  7. package/cjs/arg/ArgumentParserSelector.js +15 -0
  8. package/cjs/arg/ArgumentParserSelector.js.map +1 -0
  9. package/cjs/arg/ArgumentReader.d.ts +15 -0
  10. package/cjs/arg/ArgumentReader.d.ts.map +1 -0
  11. package/cjs/arg/ArgumentReader.js +38 -0
  12. package/cjs/arg/ArgumentReader.js.map +1 -0
  13. package/cjs/arg/ArgumentValidatorSelector.d.ts +8 -0
  14. package/cjs/arg/ArgumentValidatorSelector.d.ts.map +1 -0
  15. package/cjs/arg/ArgumentValidatorSelector.js +16 -0
  16. package/cjs/arg/ArgumentValidatorSelector.js.map +1 -0
  17. package/cjs/cmd/CommandBuilder.d.ts +410 -0
  18. package/cjs/cmd/CommandBuilder.d.ts.map +1 -0
  19. package/cjs/cmd/CommandBuilder.js +1277 -0
  20. package/cjs/cmd/CommandBuilder.js.map +1 -0
  21. package/cjs/cmd/CommandBuilderMetaData.d.ts +26 -0
  22. package/cjs/cmd/CommandBuilderMetaData.d.ts.map +1 -0
  23. package/cjs/cmd/CommandBuilderMetaData.js +45 -0
  24. package/cjs/cmd/CommandBuilderMetaData.js.map +1 -0
  25. package/cjs/cmd/CommandFeatureSelector.d.ts +80 -0
  26. package/cjs/cmd/CommandFeatureSelector.d.ts.map +1 -0
  27. package/cjs/cmd/CommandFeatureSelector.js +114 -0
  28. package/cjs/cmd/CommandFeatureSelector.js.map +1 -0
  29. package/cjs/cmd/DefaultHelpConfig.d.ts +29 -0
  30. package/cjs/cmd/DefaultHelpConfig.d.ts.map +1 -0
  31. package/cjs/cmd/DefaultHelpConfig.js +177 -0
  32. package/cjs/cmd/DefaultHelpConfig.js.map +1 -0
  33. package/cjs/cmd/commanderBackRefs.d.ts +10 -0
  34. package/cjs/cmd/commanderBackRefs.d.ts.map +1 -0
  35. package/cjs/cmd/commanderBackRefs.js +38 -0
  36. package/cjs/cmd/commanderBackRefs.js.map +1 -0
  37. package/cjs/core/OutputManager.d.ts +64 -0
  38. package/cjs/core/OutputManager.d.ts.map +1 -0
  39. package/cjs/core/OutputManager.js +92 -0
  40. package/cjs/core/OutputManager.js.map +1 -0
  41. package/cjs/core/ParserSelector.d.ts +23 -0
  42. package/cjs/core/ParserSelector.d.ts.map +1 -0
  43. package/cjs/core/ParserSelector.js +46 -0
  44. package/cjs/core/ParserSelector.js.map +1 -0
  45. package/cjs/core/ValidatorSelector.d.ts +19 -0
  46. package/cjs/core/ValidatorSelector.d.ts.map +1 -0
  47. package/cjs/core/ValidatorSelector.js +42 -0
  48. package/cjs/core/ValidatorSelector.js.map +1 -0
  49. package/cjs/core/splitCombinedArgvShorts.d.ts +2 -0
  50. package/cjs/core/splitCombinedArgvShorts.d.ts.map +1 -0
  51. package/cjs/core/splitCombinedArgvShorts.js +15 -0
  52. package/cjs/core/splitCombinedArgvShorts.js.map +1 -0
  53. package/cjs/db/AbstractJsonFileSection.d.ts +136 -0
  54. package/cjs/db/AbstractJsonFileSection.d.ts.map +1 -0
  55. package/cjs/db/AbstractJsonFileSection.js +190 -0
  56. package/cjs/db/AbstractJsonFileSection.js.map +1 -0
  57. package/cjs/db/AppDataSection.d.ts +31 -0
  58. package/cjs/db/AppDataSection.d.ts.map +1 -0
  59. package/cjs/db/AppDataSection.js +49 -0
  60. package/cjs/db/AppDataSection.js.map +1 -0
  61. package/cjs/db/ConfigSection.d.ts +46 -0
  62. package/cjs/db/ConfigSection.d.ts.map +1 -0
  63. package/cjs/db/ConfigSection.js +71 -0
  64. package/cjs/db/ConfigSection.js.map +1 -0
  65. package/cjs/db/JsonFile.d.ts +36 -0
  66. package/cjs/db/JsonFile.d.ts.map +1 -0
  67. package/cjs/db/JsonFile.js +60 -0
  68. package/cjs/db/JsonFile.js.map +1 -0
  69. package/cjs/db/PresetsSection.d.ts +45 -0
  70. package/cjs/db/PresetsSection.d.ts.map +1 -0
  71. package/cjs/db/PresetsSection.js +82 -0
  72. package/cjs/db/PresetsSection.js.map +1 -0
  73. package/cjs/index.d.ts +25 -1
  74. package/cjs/index.d.ts.map +1 -1
  75. package/cjs/index.js +26 -3
  76. package/cjs/index.js.map +1 -1
  77. package/cjs/opt/OptionArgumentParserSelector.d.ts +8 -0
  78. package/cjs/opt/OptionArgumentParserSelector.d.ts.map +1 -0
  79. package/cjs/opt/OptionArgumentParserSelector.js +16 -0
  80. package/cjs/opt/OptionArgumentParserSelector.js.map +1 -0
  81. package/cjs/opt/OptionArgumentValidatorSelector.d.ts +8 -0
  82. package/cjs/opt/OptionArgumentValidatorSelector.d.ts.map +1 -0
  83. package/cjs/opt/OptionArgumentValidatorSelector.js +19 -0
  84. package/cjs/opt/OptionArgumentValidatorSelector.js.map +1 -0
  85. package/cjs/opt/OptionBuilder.d.ts +32 -0
  86. package/cjs/opt/OptionBuilder.d.ts.map +1 -0
  87. package/cjs/opt/OptionBuilder.js +97 -0
  88. package/cjs/opt/OptionBuilder.js.map +1 -0
  89. package/cjs/opt/OptionHelpers.d.ts +33 -0
  90. package/cjs/opt/OptionHelpers.d.ts.map +1 -0
  91. package/cjs/opt/OptionHelpers.js +57 -0
  92. package/cjs/opt/OptionHelpers.js.map +1 -0
  93. package/cjs/opt/OptionReader.d.ts +24 -0
  94. package/cjs/opt/OptionReader.d.ts.map +1 -0
  95. package/cjs/opt/OptionReader.js +66 -0
  96. package/cjs/opt/OptionReader.js.map +1 -0
  97. package/cjs/types/IConfig.d.ts +22 -0
  98. package/cjs/types/IConfig.d.ts.map +1 -0
  99. package/cjs/{lib/types.js → types/IConfig.js} +1 -1
  100. package/cjs/types/IConfig.js.map +1 -0
  101. package/cjs/types/IPreset.d.ts +15 -0
  102. package/cjs/types/IPreset.d.ts.map +1 -0
  103. package/cjs/types/IPreset.js +3 -0
  104. package/cjs/types/IPreset.js.map +1 -0
  105. package/package.json +1 -1
  106. package/cjs/lib/autostudy.d.ts +0 -2
  107. package/cjs/lib/autostudy.d.ts.map +0 -1
  108. package/cjs/lib/autostudy.js +0 -33
  109. package/cjs/lib/autostudy.js.map +0 -1
  110. package/cjs/lib/core/assertValidOptions.d.ts +0 -3
  111. package/cjs/lib/core/assertValidOptions.d.ts.map +0 -1
  112. package/cjs/lib/core/assertValidOptions.js +0 -32
  113. package/cjs/lib/core/assertValidOptions.js.map +0 -1
  114. package/cjs/lib/core/defaultParams.d.ts +0 -4
  115. package/cjs/lib/core/defaultParams.d.ts.map +0 -1
  116. package/cjs/lib/core/defaultParams.js +0 -18
  117. package/cjs/lib/core/defaultParams.js.map +0 -1
  118. package/cjs/lib/core/ensureEnglish.d.ts +0 -3
  119. package/cjs/lib/core/ensureEnglish.d.ts.map +0 -1
  120. package/cjs/lib/core/ensureEnglish.js +0 -15
  121. package/cjs/lib/core/ensureEnglish.js.map +0 -1
  122. package/cjs/lib/core/pdfParser.d.ts +0 -2
  123. package/cjs/lib/core/pdfParser.d.ts.map +0 -1
  124. package/cjs/lib/core/pdfParser.js +0 -19
  125. package/cjs/lib/core/pdfParser.js.map +0 -1
  126. package/cjs/lib/core/renderMarkdown.d.ts +0 -3
  127. package/cjs/lib/core/renderMarkdown.d.ts.map +0 -1
  128. package/cjs/lib/core/renderMarkdown.js +0 -32
  129. package/cjs/lib/core/renderMarkdown.js.map +0 -1
  130. package/cjs/lib/core/study.d.ts +0 -7
  131. package/cjs/lib/core/study.d.ts.map +0 -1
  132. package/cjs/lib/core/study.js +0 -33
  133. package/cjs/lib/core/study.js.map +0 -1
  134. package/cjs/lib/core/studySelections.d.ts +0 -7
  135. package/cjs/lib/core/studySelections.d.ts.map +0 -1
  136. package/cjs/lib/core/studySelections.js +0 -30
  137. package/cjs/lib/core/studySelections.js.map +0 -1
  138. package/cjs/lib/core/writeMarkdownFileResult.d.ts +0 -6
  139. package/cjs/lib/core/writeMarkdownFileResult.d.ts.map +0 -1
  140. package/cjs/lib/core/writeMarkdownFileResult.js +0 -22
  141. package/cjs/lib/core/writeMarkdownFileResult.js.map +0 -1
  142. package/cjs/lib/gpt/determineLanguage.d.ts +0 -3
  143. package/cjs/lib/gpt/determineLanguage.d.ts.map +0 -1
  144. package/cjs/lib/gpt/determineLanguage.js +0 -16
  145. package/cjs/lib/gpt/determineLanguage.js.map +0 -1
  146. package/cjs/lib/gpt/getAnswer.d.ts +0 -4
  147. package/cjs/lib/gpt/getAnswer.d.ts.map +0 -1
  148. package/cjs/lib/gpt/getAnswer.js +0 -17
  149. package/cjs/lib/gpt/getAnswer.js.map +0 -1
  150. package/cjs/lib/gpt/getConcepts.d.ts +0 -4
  151. package/cjs/lib/gpt/getConcepts.d.ts.map +0 -1
  152. package/cjs/lib/gpt/getConcepts.js +0 -17
  153. package/cjs/lib/gpt/getConcepts.js.map +0 -1
  154. package/cjs/lib/gpt/getSummary.d.ts +0 -4
  155. package/cjs/lib/gpt/getSummary.d.ts.map +0 -1
  156. package/cjs/lib/gpt/getSummary.js +0 -17
  157. package/cjs/lib/gpt/getSummary.js.map +0 -1
  158. package/cjs/lib/gpt/translateDaToEn.d.ts +0 -3
  159. package/cjs/lib/gpt/translateDaToEn.d.ts.map +0 -1
  160. package/cjs/lib/gpt/translateDaToEn.js +0 -14
  161. package/cjs/lib/gpt/translateDaToEn.js.map +0 -1
  162. package/cjs/lib/main.d.ts +0 -2
  163. package/cjs/lib/main.d.ts.map +0 -1
  164. package/cjs/lib/main.js +0 -9
  165. package/cjs/lib/main.js.map +0 -1
  166. package/cjs/lib/templates/getArticleConfigTemplate.d.ts +0 -3
  167. package/cjs/lib/templates/getArticleConfigTemplate.d.ts.map +0 -1
  168. package/cjs/lib/templates/getArticleConfigTemplate.js +0 -28
  169. package/cjs/lib/templates/getArticleConfigTemplate.js.map +0 -1
  170. package/cjs/lib/templates/getBookConfigTemplate.d.ts +0 -3
  171. package/cjs/lib/templates/getBookConfigTemplate.d.ts.map +0 -1
  172. package/cjs/lib/templates/getBookConfigTemplate.js +0 -35
  173. package/cjs/lib/templates/getBookConfigTemplate.js.map +0 -1
  174. package/cjs/lib/types.d.ts +0 -37
  175. package/cjs/lib/types.d.ts.map +0 -1
  176. package/cjs/lib/types.js.map +0 -1
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assertValidOptions = void 0;
4
- const is_1 = require("@bemoje/is");
5
- function assertValidOptions(opts) {
6
- const isValidType = (0, is_1.createIsAnyOf)('isValidType', ['book', 'article']);
7
- const isGptModel = (0, is_1.createIsAnyOf)('isGptModel', ['gpt-4-0125-preview', 'gpt-3.5-turbo-0125']);
8
- const isStringArray = (0, is_1.createTypedArrayValidator)([is_1.isString]);
9
- const isLengthOf2 = (0, is_1.createLengthValidator)(2);
10
- const isNonZeroPosIntArray = (0, is_1.createTypedArrayValidator)([is_1.isNonZeroPositiveInteger]);
11
- const isValidRange = (v) => Array.isArray(v) && v[0] <= v[1];
12
- const isPageRange = (v) => isLengthOf2(v) && isNonZeroPosIntArray(v) && isValidRange(v);
13
- (0, is_1.ensureThat)(opts.type, isValidType);
14
- (0, is_1.ensureThat)(opts.title, is_1.isString);
15
- (0, is_1.ensureThat)(opts.authors, is_1.isString);
16
- (0, is_1.ensureThat)(opts.year, is_1.isNonZeroPositiveInteger);
17
- (0, is_1.ensureThat)(opts.subject, is_1.isString);
18
- (0, is_1.ensureThat)(opts.filepath, is_1.isString);
19
- (0, is_1.ensureThatDefined)(opts.gptModel, isGptModel);
20
- (0, is_1.ensureThatDefined)(opts.outpath, is_1.isString);
21
- (0, is_1.ensureThatDefined)(opts.apiKey, is_1.isString);
22
- (0, is_1.ensureThatDefined)(opts.silent, is_1.isBoolean);
23
- (0, is_1.ensureThatDefined)(opts.overwriteCache, is_1.isBoolean);
24
- for (const sel of opts.selections) {
25
- (0, is_1.ensureThat)(sel.title, is_1.isString);
26
- (0, is_1.ensureThat)(sel.pages, isPageRange);
27
- (0, is_1.ensureThat)(sel.questions, isStringArray);
28
- (0, is_1.ensureThatDefined)(sel.no, is_1.isPositiveInteger);
29
- }
30
- }
31
- exports.assertValidOptions = assertValidOptions;
32
- //# sourceMappingURL=assertValidOptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assertValidOptions.js","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/core/assertValidOptions.ts"],"names":[],"mappings":";;;AAAA,mCAUmB;AAGnB,SAAgB,kBAAkB,CAAC,IAAkB;IACnD,MAAM,WAAW,GAAG,IAAA,kBAAa,EAAC,aAAa,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;IACrE,MAAM,UAAU,GAAG,IAAA,kBAAa,EAAC,YAAY,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,CAAA;IAC5F,MAAM,aAAa,GAAG,IAAA,8BAAyB,EAAC,CAAC,aAAQ,CAAC,CAAC,CAAA;IAC3D,MAAM,WAAW,GAAG,IAAA,0BAAqB,EAAC,CAAC,CAAC,CAAA;IAC5C,MAAM,oBAAoB,GAAG,IAAA,8BAAyB,EAAC,CAAC,6BAAwB,CAAC,CAAC,CAAA;IAClF,MAAM,YAAY,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACrE,MAAM,WAAW,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;IAEhG,IAAA,eAAU,EAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAClC,IAAA,eAAU,EAAC,IAAI,CAAC,KAAK,EAAE,aAAQ,CAAC,CAAA;IAChC,IAAA,eAAU,EAAC,IAAI,CAAC,OAAO,EAAE,aAAQ,CAAC,CAAA;IAClC,IAAA,eAAU,EAAC,IAAI,CAAC,IAAI,EAAE,6BAAwB,CAAC,CAAA;IAC/C,IAAA,eAAU,EAAC,IAAI,CAAC,OAAO,EAAE,aAAQ,CAAC,CAAA;IAClC,IAAA,eAAU,EAAC,IAAI,CAAC,QAAQ,EAAE,aAAQ,CAAC,CAAA;IACnC,IAAA,sBAAiB,EAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IAC5C,IAAA,sBAAiB,EAAC,IAAI,CAAC,OAAO,EAAE,aAAQ,CAAC,CAAA;IACzC,IAAA,sBAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,aAAQ,CAAC,CAAA;IACxC,IAAA,sBAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,cAAS,CAAC,CAAA;IACzC,IAAA,sBAAiB,EAAC,IAAI,CAAC,cAAc,EAAE,cAAS,CAAC,CAAA;IAEjD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;QACjC,IAAA,eAAU,EAAC,GAAG,CAAC,KAAK,EAAE,aAAQ,CAAC,CAAA;QAC/B,IAAA,eAAU,EAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QAClC,IAAA,eAAU,EAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QACxC,IAAA,sBAAiB,EAAC,GAAG,CAAC,EAAE,EAAE,sBAAiB,CAAC,CAAA;KAC7C;AACH,CAAC;AA3BD,gDA2BC"}
@@ -1,4 +0,0 @@
1
- import { GPTParams } from '@bemoje/openai-gpt-client';
2
- import { StudyOptions } from '../types';
3
- export declare function defaultParams(opts: StudyOptions): (params: GPTParams) => void;
4
- //# sourceMappingURL=defaultParams.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"defaultParams.d.ts","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/core/defaultParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,YAC9B,SAAS,UAW1B"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultParams = void 0;
4
- function defaultParams(opts) {
5
- return (params) => {
6
- params.model(opts.gptModel ?? 'gpt-3.5-turbo-0125');
7
- params.temperature(0.5);
8
- params.system_message([
9
- `You are a helpful university professor. You teach a ${opts.subject} course.`,
10
- '',
11
- `You will help me study. Corriculum: '${opts.title}' (${opts.year}) by ${opts.authors}.`,
12
- '',
13
- 'You will be given a chapter from the text that we will focus on.',
14
- ]);
15
- };
16
- }
17
- exports.defaultParams = defaultParams;
18
- //# sourceMappingURL=defaultParams.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"defaultParams.js","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/core/defaultParams.ts"],"names":[],"mappings":";;;AAGA,SAAgB,aAAa,CAAC,IAAkB;IAC9C,OAAO,CAAC,MAAiB,EAAE,EAAE;QAC3B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,oBAAoB,CAAC,CAAA;QACnD,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACvB,MAAM,CAAC,cAAc,CAAC;YACpB,uDAAuD,IAAI,CAAC,OAAO,UAAU;YAC7E,EAAE;YACF,wCAAwC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,OAAO,GAAG;YACxF,EAAE;YACF,kEAAkE;SACnE,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC;AAZD,sCAYC"}
@@ -1,3 +0,0 @@
1
- import GPT from '@bemoje/openai-gpt-client';
2
- export declare function ensureEnglish(gpt: GPT, text: string): Promise<string>;
3
- //# sourceMappingURL=ensureEnglish.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ensureEnglish.d.ts","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/core/ensureEnglish.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,2BAA2B,CAAA;AAI3C,wBAAsB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,mBAKzD"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ensureEnglish = void 0;
4
- const determineLanguage_1 = require("../gpt/determineLanguage");
5
- const translateDaToEn_1 = require("../gpt/translateDaToEn");
6
- async function ensureEnglish(gpt, text) {
7
- const language = await (0, determineLanguage_1.determineLanguage)(gpt, text);
8
- if (language === 'en')
9
- return text;
10
- if (language === 'da')
11
- return await (0, translateDaToEn_1.translateDaToEn)(gpt, text);
12
- throw new Error('Unsupported language: ' + language);
13
- }
14
- exports.ensureEnglish = ensureEnglish;
15
- //# sourceMappingURL=ensureEnglish.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ensureEnglish.js","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/core/ensureEnglish.ts"],"names":[],"mappings":";;;AACA,gEAA4D;AAC5D,4DAAwD;AAEjD,KAAK,UAAU,aAAa,CAAC,GAAQ,EAAE,IAAY;IACxD,MAAM,QAAQ,GAAG,MAAM,IAAA,qCAAiB,EAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACnD,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAClC,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,MAAM,IAAA,iCAAe,EAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC9D,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,QAAQ,CAAC,CAAA;AACtD,CAAC;AALD,sCAKC"}
@@ -1,2 +0,0 @@
1
- export declare function pdfParser(filepath: string): Promise<(pages: [number, number]) => Promise<string>>;
2
- //# sourceMappingURL=pdfParser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pdfParser.d.ts","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/core/pdfParser.ts"],"names":[],"mappings":"AAGA,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,mBAOD,CAAC,MAAM,EAAE,MAAM,CAAC,sBAK9D"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.pdfParser = void 0;
4
- const tslib_1 = require("tslib");
5
- const pdf_parse_1 = tslib_1.__importDefault(require("pdf-parse"));
6
- const pdf_util_1 = require("@bemoje/pdf-util");
7
- async function pdfParser(filepath) {
8
- if (!/\.pdf$/i.test(filepath)) {
9
- throw new Error('filepath must point to a PDF file.');
10
- }
11
- const doc = await (0, pdf_util_1.pdfReadFile)(filepath);
12
- return async function pageRangeAsText(pages) {
13
- const buffer = Buffer.from(await (await (0, pdf_util_1.pdfGetPages)(doc, [pages])).save());
14
- const parsed = await (0, pdf_parse_1.default)(buffer);
15
- return parsed.text;
16
- };
17
- }
18
- exports.pdfParser = pdfParser;
19
- //# sourceMappingURL=pdfParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pdfParser.js","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/core/pdfParser.ts"],"names":[],"mappings":";;;;AAAA,kEAAgC;AAChC,+CAA2D;AAEpD,KAAK,UAAU,SAAS,CAAC,QAAgB;IAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;KACtD;IAED,MAAM,GAAG,GAAG,MAAM,IAAA,sBAAW,EAAC,QAAQ,CAAC,CAAA;IAEvC,OAAO,KAAK,UAAU,eAAe,CAAC,KAAuB;QAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAA,sBAAW,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QAC1E,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAQ,EAAC,MAAM,CAAC,CAAA;QACrC,OAAO,MAAM,CAAC,IAAI,CAAA;IACpB,CAAC,CAAA;AACH,CAAC;AAZD,8BAYC"}
@@ -1,3 +0,0 @@
1
- import { SelectionAnalysis, StudyOptions } from '../types';
2
- export declare function renderMarkdown(opts: StudyOptions, analyses: SelectionAnalysis[]): string;
3
- //# sourceMappingURL=renderMarkdown.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderMarkdown.d.ts","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/core/renderMarkdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE1D,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,iBAAiB,EAAE,UA2C/E"}
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.renderMarkdown = void 0;
4
- function renderMarkdown(opts, analyses) {
5
- let result = section('# ' + opts.title, //
6
- 'type: ' + opts.type, 'year: ' + opts.year, 'authors: ' + opts.authors, 'subject: ' + opts.subject);
7
- result += analyses
8
- .map((analysis) => {
9
- return [
10
- section(`## ${analysis.no ? analysis.no + '.' : ''} ${analysis.title}`, `Pages: ${analysis.pages[0]}-${analysis.pages[1]} (of pdf)`),
11
- section('### Summary', //
12
- analysis.summary),
13
- section('### Concepts', ...analysis.concepts.map((concept) => {
14
- return `**${concept.concept}**: ${concept.elaborated}\n`;
15
- })),
16
- section('### Questions', ...analysis.questions.map((q) => {
17
- return section(`#### ${q.question}`, q.answer //
18
- );
19
- })),
20
- ].join('\n');
21
- })
22
- .join('\n');
23
- return maxTwoConsecutiveEmptyLines(result);
24
- }
25
- exports.renderMarkdown = renderMarkdown;
26
- function section(header, ...body) {
27
- return ['', '', header, ...body.flat(), ''].join('\n');
28
- }
29
- function maxTwoConsecutiveEmptyLines(string) {
30
- return string.replace(/(\r?\n){4,}/g, '\n\n\n').trim();
31
- }
32
- //# sourceMappingURL=renderMarkdown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderMarkdown.js","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/core/renderMarkdown.ts"],"names":[],"mappings":";;;AAEA,SAAgB,cAAc,CAAC,IAAkB,EAAE,QAA6B;IAC9E,IAAI,MAAM,GAAG,OAAO,CAClB,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE;IACrB,QAAQ,GAAG,IAAI,CAAC,IAAI,EACpB,QAAQ,GAAG,IAAI,CAAC,IAAI,EACpB,WAAW,GAAG,IAAI,CAAC,OAAO,EAC1B,WAAW,GAAG,IAAI,CAAC,OAAO,CAC3B,CAAA;IAED,MAAM,IAAI,QAAQ;SACf,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChB,OAAO;YACL,OAAO,CACL,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,KAAK,EAAE,EAC9D,UAAU,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAC5D;YAED,OAAO,CACL,aAAa,EAAE,EAAE;YACjB,QAAQ,CAAC,OAAO,CACjB;YAED,OAAO,CACL,cAAc,EACd,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBACnC,OAAO,KAAK,OAAO,CAAC,OAAO,OAAO,OAAO,CAAC,UAAU,IAAI,CAAA;YAC1D,CAAC,CAAC,CACH;YAED,OAAO,CACL,eAAe,EACf,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC9B,OAAO,OAAO,CACZ,QAAQ,CAAC,CAAC,QAAQ,EAAE,EACpB,CAAC,CAAC,MAAM,CAAC,EAAE;iBACZ,CAAA;YACH,CAAC,CAAC,CACH;SACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACd,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,OAAO,2BAA2B,CAAC,MAAM,CAAC,CAAA;AAC5C,CAAC;AA3CD,wCA2CC;AAED,SAAS,OAAO,CAAC,MAAc,EAAE,GAAG,IAA2B;IAC7D,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACxD,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAc;IACjD,OAAO,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAA;AACxD,CAAC"}
@@ -1,7 +0,0 @@
1
- import { SelectionAnalysis, StudyOptions } from '../types';
2
- import 'dotenv/config';
3
- /**
4
- * @param options - options or filepath to json file with options
5
- */
6
- export declare function study(opts: StudyOptions): Promise<SelectionAnalysis[]>;
7
- //# sourceMappingURL=study.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"study.d.ts","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/core/study.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAG1D,OAAO,eAAe,CAAA;AAEtB;;GAEG;AACH,wBAAsB,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAqB5E"}
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.study = void 0;
4
- const tslib_1 = require("tslib");
5
- const cloneDeep_1 = tslib_1.__importDefault(require("lodash/cloneDeep"));
6
- const openai_gpt_client_1 = tslib_1.__importDefault(require("@bemoje/openai-gpt-client"));
7
- const api_util_1 = require("@bemoje/api-util");
8
- const assertValidOptions_1 = require("./assertValidOptions");
9
- const studySelections_1 = require("./studySelections");
10
- const writeMarkdownFileResult_1 = require("./writeMarkdownFileResult");
11
- require("dotenv/config");
12
- /**
13
- * @param options - options or filepath to json file with options
14
- */
15
- async function study(opts) {
16
- opts = (0, cloneDeep_1.default)(opts);
17
- (0, assertValidOptions_1.assertValidOptions)(opts);
18
- const openai = opts?.apiKey ? { openai: { apiKey: opts.apiKey } } : {};
19
- const gpt = new openai_gpt_client_1.default(openai);
20
- gpt.useCache(new api_util_1.ApiReponseCache({ name: 'openai-api' }));
21
- const usage = { n: 0, prompt: 0, completion: 0 };
22
- gpt.emitter.on('finalUsage', (u) => {
23
- usage.n++;
24
- usage.prompt += u.prompt_tokens;
25
- usage.completion += u.completion_tokens;
26
- console.log({ total_tokens: usage });
27
- });
28
- const analyses = await (0, studySelections_1.studySelections)(opts, gpt);
29
- await (0, writeMarkdownFileResult_1.writeMarkdownFileResult)(opts, analyses);
30
- return analyses;
31
- }
32
- exports.study = study;
33
- //# sourceMappingURL=study.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"study.js","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/core/study.ts"],"names":[],"mappings":";;;;AAAA,yEAAwC;AACxC,0FAA2C;AAC3C,+CAAkD;AAClD,6DAAyD;AAIzD,uDAAmD;AACnD,uEAAmE;AACnE,yBAAsB;AAEtB;;GAEG;AACI,KAAK,UAAU,KAAK,CAAC,IAAkB;IAC5C,IAAI,GAAG,IAAA,mBAAS,EAAC,IAAI,CAAC,CAAA;IACtB,IAAA,uCAAkB,EAAC,IAAI,CAAC,CAAA;IACxB,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAEtE,MAAM,GAAG,GAAG,IAAI,2BAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,GAAG,CAAC,QAAQ,CAAC,IAAI,0BAAe,CAAiB,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAA;IAEzE,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAA;IAChD,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAkB,EAAE,EAAE;QAClD,KAAK,CAAC,CAAC,EAAE,CAAA;QACT,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,aAAa,CAAA;QAC/B,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,iBAAiB,CAAA;QACvC,OAAO,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAe,EAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAEjD,MAAM,IAAA,iDAAuB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAE7C,OAAO,QAAQ,CAAA;AACjB,CAAC;AArBD,sBAqBC"}
@@ -1,7 +0,0 @@
1
- import GPT from '@bemoje/openai-gpt-client';
2
- import { SelectionAnalysis, StudyOptions } from '../types';
3
- /**
4
- *
5
- */
6
- export declare function studySelections(opts: StudyOptions, gpt: GPT): Promise<SelectionAnalysis[]>;
7
- //# sourceMappingURL=studySelections.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"studySelections.d.ts","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/core/studySelections.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,2BAA2B,CAAA;AAK3C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE1D;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAmBhG"}
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.studySelections = void 0;
4
- const getAnswer_1 = require("../gpt/getAnswer");
5
- const getConcepts_1 = require("../gpt/getConcepts");
6
- const getSummary_1 = require("../gpt/getSummary");
7
- const pdfParser_1 = require("./pdfParser");
8
- /**
9
- *
10
- */
11
- async function studySelections(opts, gpt) {
12
- const pageRangeAsText = await (0, pdfParser_1.pdfParser)(opts.filepath);
13
- return await Promise.all(opts.selections.map(async (selection) => {
14
- const text = await pageRangeAsText(selection.pages);
15
- const analysis = {};
16
- await Promise.all([
17
- (async () => (analysis.summary = await (0, getSummary_1.getSummary)(opts, gpt, text)))(),
18
- (async () => (analysis.concepts = await (0, getConcepts_1.getConcepts)(opts, gpt, text)))(),
19
- ...selection.questions.map(async (question, i) => {
20
- const answer = await (0, getAnswer_1.getAnswer)(opts, gpt, text, question);
21
- if (!analysis.questions)
22
- analysis.questions = [];
23
- analysis.questions[i] = { question, answer };
24
- }),
25
- ]);
26
- return { ...selection, ...analysis };
27
- }));
28
- }
29
- exports.studySelections = studySelections;
30
- //# sourceMappingURL=studySelections.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"studySelections.js","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/core/studySelections.ts"],"names":[],"mappings":";;;AACA,gDAA4C;AAC5C,oDAAgD;AAChD,kDAA8C;AAC9C,2CAAuC;AAGvC;;GAEG;AACI,KAAK,UAAU,eAAe,CAAC,IAAkB,EAAE,GAAQ;IAChE,MAAM,eAAe,GAAG,MAAM,IAAA,qBAAS,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAEtD,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACtC,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACnD,MAAM,QAAQ,GAA+B,EAAE,CAAA;QAC/C,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,GAAG,MAAM,IAAA,uBAAU,EAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE;YACtE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,IAAA,yBAAW,EAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE;YACxE,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;gBAC/C,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAS,EAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;gBACzD,IAAI,CAAC,QAAQ,CAAC,SAAS;oBAAE,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAA;gBAChD,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;YAC9C,CAAC,CAAC;SACH,CAAC,CAAA;QACF,OAAO,EAAE,GAAG,SAAS,EAAE,GAAG,QAAQ,EAAuB,CAAA;IAC3D,CAAC,CAAC,CACH,CAAA;AACH,CAAC;AAnBD,0CAmBC"}
@@ -1,6 +0,0 @@
1
- import { SelectionAnalysis, StudyOptions } from '../types';
2
- /**
3
- *
4
- */
5
- export declare function writeMarkdownFileResult(opts: StudyOptions, analyses: SelectionAnalysis[]): Promise<void>;
6
- //# sourceMappingURL=writeMarkdownFileResult.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"writeMarkdownFileResult.d.ts","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/core/writeMarkdownFileResult.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE1D;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,iBAAiB,EAAE,iBAO9F"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.writeMarkdownFileResult = void 0;
4
- const tslib_1 = require("tslib");
5
- const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
6
- const path_1 = tslib_1.__importDefault(require("path"));
7
- const renderMarkdown_1 = require("./renderMarkdown");
8
- /**
9
- *
10
- */
11
- async function writeMarkdownFileResult(opts, analyses) {
12
- const markdown = (0, renderMarkdown_1.renderMarkdown)(opts, analyses);
13
- const outpath = opts.outpath ?? opts.filepath.replace(/\.pdf$/i, '.md');
14
- await fs_extra_1.default.ensureDir(path_1.default.dirname(outpath));
15
- await fs_extra_1.default.writeFile(outpath, markdown, 'utf8');
16
- if (!opts.silent)
17
- console.log('\nWrote file: ' + outpath);
18
- if (!opts.silent)
19
- console.log();
20
- }
21
- exports.writeMarkdownFileResult = writeMarkdownFileResult;
22
- //# sourceMappingURL=writeMarkdownFileResult.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"writeMarkdownFileResult.js","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/core/writeMarkdownFileResult.ts"],"names":[],"mappings":";;;;AAAA,gEAAyB;AACzB,wDAAuB;AACvB,qDAAiD;AAGjD;;GAEG;AACI,KAAK,UAAU,uBAAuB,CAAC,IAAkB,EAAE,QAA6B;IAC7F,MAAM,QAAQ,GAAG,IAAA,+BAAc,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IACvE,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;IACzC,MAAM,kBAAE,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC7C,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,CAAA;IACzD,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,GAAG,EAAE,CAAA;AACjC,CAAC;AAPD,0DAOC"}
@@ -1,3 +0,0 @@
1
- import GPT from '@bemoje/openai-gpt-client';
2
- export declare function determineLanguage(gpt: GPT, text: string): Promise<'da' | 'en'>;
3
- //# sourceMappingURL=determineLanguage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"determineLanguage.d.ts","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/gpt/determineLanguage.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,2BAA2B,CAAA;AAE3C,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAUpF"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.determineLanguage = void 0;
4
- async function determineLanguage(gpt, text) {
5
- const response = await gpt.chat((params) => {
6
- params.model('gpt-3.5-turbo-0125');
7
- params.temperature(0.3);
8
- params.system_message('Determine whether the text is Danish or English language.');
9
- params.json_mode(`{ language: 'da' | 'en' }`);
10
- params.user_message(text);
11
- });
12
- const result = response.getParsedJsonContent();
13
- return result.language;
14
- }
15
- exports.determineLanguage = determineLanguage;
16
- //# sourceMappingURL=determineLanguage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"determineLanguage.js","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/gpt/determineLanguage.ts"],"names":[],"mappings":";;;AAEO,KAAK,UAAU,iBAAiB,CAAC,GAAQ,EAAE,IAAY;IAC5D,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACzC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAClC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACvB,MAAM,CAAC,cAAc,CAAC,2DAA2D,CAAC,CAAA;QAClF,MAAM,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAA;QAC7C,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,QAAQ,CAAC,oBAAoB,EAA+B,CAAA;IAC3E,OAAO,MAAM,CAAC,QAAQ,CAAA;AACxB,CAAC;AAVD,8CAUC"}
@@ -1,4 +0,0 @@
1
- import GPT from '@bemoje/openai-gpt-client';
2
- import { StudyOptions } from '../types';
3
- export declare function getAnswer(opts: StudyOptions, gpt: GPT, chapter: string, question: string): Promise<string>;
4
- //# sourceMappingURL=getAnswer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getAnswer.d.ts","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/gpt/getAnswer.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,2BAA2B,CAAA;AAG3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,wBAAsB,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,mBAS9F"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAnswer = void 0;
4
- const defaultParams_1 = require("../core/defaultParams");
5
- const ensureEnglish_1 = require("../core/ensureEnglish");
6
- async function getAnswer(opts, gpt, chapter, question) {
7
- const questionEn = await (0, ensureEnglish_1.ensureEnglish)(gpt, question);
8
- const chatOptions = { overwriteCache: opts.overwriteCache };
9
- const response = await gpt.chat((params) => {
10
- params.load((0, defaultParams_1.defaultParams)(opts));
11
- params.extend_system_message('Your task is to answer the following question about the given chapter: ', questionEn);
12
- params.user_message(chapter);
13
- }, chatOptions);
14
- return response.getContent() || '';
15
- }
16
- exports.getAnswer = getAnswer;
17
- //# sourceMappingURL=getAnswer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getAnswer.js","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/gpt/getAnswer.ts"],"names":[],"mappings":";;;AACA,yDAAqD;AACrD,yDAAqD;AAG9C,KAAK,UAAU,SAAS,CAAC,IAAkB,EAAE,GAAQ,EAAE,OAAe,EAAE,QAAgB;IAC7F,MAAM,UAAU,GAAG,MAAM,IAAA,6BAAa,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IACrD,MAAM,WAAW,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAA;IAC3D,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACzC,MAAM,CAAC,IAAI,CAAC,IAAA,6BAAa,EAAC,IAAI,CAAC,CAAC,CAAA;QAChC,MAAM,CAAC,qBAAqB,CAAC,yEAAyE,EAAE,UAAU,CAAC,CAAA;QACnH,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IAC9B,CAAC,EAAE,WAAW,CAAC,CAAA;IACf,OAAO,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,CAAA;AACpC,CAAC;AATD,8BASC"}
@@ -1,4 +0,0 @@
1
- import GPT from '@bemoje/openai-gpt-client';
2
- import { Concept, StudyOptions } from '../types';
3
- export declare function getConcepts(opts: StudyOptions, gpt: GPT, text: string): Promise<Concept[]>;
4
- //# sourceMappingURL=getConcepts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getConcepts.d.ts","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/gpt/getConcepts.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,2BAA2B,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAGhD,wBAAsB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,sBAW3E"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getConcepts = void 0;
4
- const defaultParams_1 = require("../core/defaultParams");
5
- async function getConcepts(opts, gpt, text) {
6
- const chatOptions = { overwriteCache: opts.overwriteCache };
7
- const response = await gpt.chat((params) => {
8
- params.load((0, defaultParams_1.defaultParams)(opts));
9
- params.extend_system_message('Your task is to identify and explain on the key concepts of the given chapter.');
10
- params.json_mode('{ concepts: { concept: string, elaborated: string }[]');
11
- params.user_message(text);
12
- }, chatOptions);
13
- const result = response.getParsedJsonContent();
14
- return result.concepts;
15
- }
16
- exports.getConcepts = getConcepts;
17
- //# sourceMappingURL=getConcepts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getConcepts.js","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/gpt/getConcepts.ts"],"names":[],"mappings":";;;AAEA,yDAAqD;AAE9C,KAAK,UAAU,WAAW,CAAC,IAAkB,EAAE,GAAQ,EAAE,IAAY;IAC1E,MAAM,WAAW,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAA;IAC3D,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACzC,MAAM,CAAC,IAAI,CAAC,IAAA,6BAAa,EAAC,IAAI,CAAC,CAAC,CAAA;QAChC,MAAM,CAAC,qBAAqB,CAAC,gFAAgF,CAAC,CAAA;QAC9G,MAAM,CAAC,SAAS,CAAC,uDAAuD,CAAC,CAAA;QACzE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC,EAAE,WAAW,CAAC,CAAA;IAEf,MAAM,MAAM,GAAG,QAAQ,CAAC,oBAAoB,EAA6B,CAAA;IACzE,OAAO,MAAM,CAAC,QAAQ,CAAA;AACxB,CAAC;AAXD,kCAWC"}
@@ -1,4 +0,0 @@
1
- import GPT from '@bemoje/openai-gpt-client';
2
- import { StudyOptions } from '../types';
3
- export declare function getSummary(opts: StudyOptions, gpt: GPT, text: string): Promise<string>;
4
- //# sourceMappingURL=getSummary.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getSummary.d.ts","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/gpt/getSummary.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,2BAA2B,CAAA;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,wBAAsB,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,mBAW1E"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSummary = void 0;
4
- const defaultParams_1 = require("../core/defaultParams");
5
- async function getSummary(opts, gpt, text) {
6
- const chatOptions = { overwriteCache: opts.overwriteCache };
7
- const response = await gpt.chat((params) => {
8
- params.load((0, defaultParams_1.defaultParams)(opts));
9
- params.extend_system_message('Your task is to summarize the given chapter.:');
10
- params.json_mode('{ summary: string }');
11
- params.user_message(text);
12
- }, chatOptions);
13
- const result = response.getParsedJsonContent();
14
- return result.summary;
15
- }
16
- exports.getSummary = getSummary;
17
- //# sourceMappingURL=getSummary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getSummary.js","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/gpt/getSummary.ts"],"names":[],"mappings":";;;AACA,yDAAqD;AAG9C,KAAK,UAAU,UAAU,CAAC,IAAkB,EAAE,GAAQ,EAAE,IAAY;IACzE,MAAM,WAAW,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAA;IAC3D,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACzC,MAAM,CAAC,IAAI,CAAC,IAAA,6BAAa,EAAC,IAAI,CAAC,CAAC,CAAA;QAChC,MAAM,CAAC,qBAAqB,CAAC,+CAA+C,CAAC,CAAA;QAC7E,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAA;QACvC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC,EAAE,WAAW,CAAC,CAAA;IAEf,MAAM,MAAM,GAAG,QAAQ,CAAC,oBAAoB,EAAyB,CAAA;IACrE,OAAO,MAAM,CAAC,OAAO,CAAA;AACvB,CAAC;AAXD,gCAWC"}
@@ -1,3 +0,0 @@
1
- import GPT from '@bemoje/openai-gpt-client';
2
- export declare function translateDaToEn(gpt: GPT, text: string): Promise<string>;
3
- //# sourceMappingURL=translateDaToEn.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"translateDaToEn.d.ts","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/gpt/translateDaToEn.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,2BAA2B,CAAA;AAE3C,wBAAsB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,mBAQ3D"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.translateDaToEn = void 0;
4
- async function translateDaToEn(gpt, text) {
5
- const response = await gpt.chat((params) => {
6
- params.model('gpt-4-0125-preview');
7
- params.temperature(0.3);
8
- params.system_message('Translate Danish to English.');
9
- params.user_message(text);
10
- });
11
- return response.getContent() || text;
12
- }
13
- exports.translateDaToEn = translateDaToEn;
14
- //# sourceMappingURL=translateDaToEn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"translateDaToEn.js","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/gpt/translateDaToEn.ts"],"names":[],"mappings":";;;AAEO,KAAK,UAAU,eAAe,CAAC,GAAQ,EAAE,IAAY;IAC1D,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACzC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAClC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACvB,MAAM,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAA;QACrD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IACF,OAAO,QAAQ,CAAC,UAAU,EAAE,IAAI,IAAI,CAAA;AACtC,CAAC;AARD,0CAQC"}
package/cjs/lib/main.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare function main(): Promise<import("@bemoje/cli").CommandBuilder<unknown[], import("@commander-js/extra-typings").OptionValues>>;
2
- //# sourceMappingURL=main.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../../packages/autostudy/src/lib/main.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,iHAEnB"}
package/cjs/lib/main.js DELETED
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.main = void 0;
4
- const autostudy_1 = require("./autostudy");
5
- function main() {
6
- return autostudy_1.autostudy.parseAsync();
7
- }
8
- exports.main = main;
9
- //# sourceMappingURL=main.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../../packages/autostudy/src/lib/main.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AAEvC,SAAgB,IAAI;IAClB,OAAO,qBAAS,CAAC,UAAU,EAAE,CAAA;AAC/B,CAAC;AAFD,oBAEC"}
@@ -1,3 +0,0 @@
1
- import { StudyOptions } from '../types';
2
- export declare function getArticleConfigTemplate(): StudyOptions;
3
- //# sourceMappingURL=getArticleConfigTemplate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getArticleConfigTemplate.d.ts","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/templates/getArticleConfigTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,wBAAgB,wBAAwB,iBAsBvC"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getArticleConfigTemplate = void 0;
4
- function getArticleConfigTemplate() {
5
- const opts = {
6
- type: 'article',
7
- filepath: 'path/to/file.pdf',
8
- outpath: 'path/to/output.md',
9
- title: 'Some Research Paper',
10
- authors: 'John Doe',
11
- year: 2021,
12
- gptModel: 'gpt-3.5-turbo-0125',
13
- subject: 'Computer Science',
14
- selections: [
15
- {
16
- title: 'abstract',
17
- pages: [2, 3],
18
- questions: ['Summarize in one sentence.'],
19
- },
20
- ],
21
- silent: false,
22
- overwriteCache: false,
23
- apiKey: undefined,
24
- };
25
- return opts;
26
- }
27
- exports.getArticleConfigTemplate = getArticleConfigTemplate;
28
- //# sourceMappingURL=getArticleConfigTemplate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getArticleConfigTemplate.js","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/templates/getArticleConfigTemplate.ts"],"names":[],"mappings":";;;AAEA,SAAgB,wBAAwB;IACtC,MAAM,IAAI,GAAiB;QACzB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,mBAAmB;QAC5B,KAAK,EAAE,qBAAqB;QAC5B,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,oBAAoB;QAC9B,OAAO,EAAE,kBAAkB;QAC3B,UAAU,EAAE;YACV;gBACE,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACb,SAAS,EAAE,CAAC,4BAA4B,CAAC;aAC1C;SACF;QACD,MAAM,EAAE,KAAK;QACb,cAAc,EAAE,KAAK;QACrB,MAAM,EAAE,SAAS;KAClB,CAAA;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAtBD,4DAsBC"}
@@ -1,3 +0,0 @@
1
- import { StudyOptions } from '../types';
2
- export declare function getBookConfigTemplate(): StudyOptions;
3
- //# sourceMappingURL=getBookConfigTemplate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getBookConfigTemplate.d.ts","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/templates/getBookConfigTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,wBAAgB,qBAAqB,iBA6BpC"}
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getBookConfigTemplate = void 0;
4
- function getBookConfigTemplate() {
5
- const opts = {
6
- type: 'book',
7
- filepath: 'path/to/file.pdf',
8
- outpath: 'path/to/output.md',
9
- title: 'Algorithms',
10
- authors: 'John Doe',
11
- year: 2021,
12
- gptModel: 'gpt-3.5-turbo-0125',
13
- subject: 'Computer Science',
14
- selections: [
15
- {
16
- no: 1,
17
- title: 'Introduction',
18
- pages: [6, 26],
19
- questions: ['What is an algorithm?', 'Why should I care about algorithms?'],
20
- },
21
- {
22
- no: 2,
23
- title: 'Algorithms in the Wild?',
24
- pages: [27, 34],
25
- questions: ['Who uses algorithms?'],
26
- },
27
- ],
28
- silent: false,
29
- overwriteCache: false,
30
- apiKey: undefined,
31
- };
32
- return opts;
33
- }
34
- exports.getBookConfigTemplate = getBookConfigTemplate;
35
- //# sourceMappingURL=getBookConfigTemplate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getBookConfigTemplate.js","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/templates/getBookConfigTemplate.ts"],"names":[],"mappings":";;;AAEA,SAAgB,qBAAqB;IACnC,MAAM,IAAI,GAAiB;QACzB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,mBAAmB;QAC5B,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,oBAAoB;QAC9B,OAAO,EAAE,kBAAkB;QAC3B,UAAU,EAAE;YACV;gBACE,EAAE,EAAE,CAAC;gBACL,KAAK,EAAE,cAAc;gBACrB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;gBACd,SAAS,EAAE,CAAC,uBAAuB,EAAE,qCAAqC,CAAC;aAC5E;YACD;gBACE,EAAE,EAAE,CAAC;gBACL,KAAK,EAAE,yBAAyB;gBAChC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;gBACf,SAAS,EAAE,CAAC,sBAAsB,CAAC;aACpC;SACF;QACD,MAAM,EAAE,KAAK;QACb,cAAc,EAAE,KAAK;QACrB,MAAM,EAAE,SAAS;KAClB,CAAA;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AA7BD,sDA6BC"}