lens-content-processor 0.79.0 → 0.80.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 (130) hide show
  1. package/dist/authoring-markup.d.ts +22 -0
  2. package/dist/authoring-markup.js +24 -0
  3. package/dist/authoring-markup.js.map +1 -1
  4. package/dist/cache.d.ts +10 -0
  5. package/dist/cache.js +6 -5
  6. package/dist/cache.js.map +1 -1
  7. package/dist/cli-steps.d.ts +37 -0
  8. package/dist/cli-steps.js +80 -0
  9. package/dist/cli-steps.js.map +1 -0
  10. package/dist/cli.d.ts +7 -0
  11. package/dist/cli.js +52 -70
  12. package/dist/cli.js.map +1 -1
  13. package/dist/course-graph.d.ts +2 -2
  14. package/dist/course-graph.js +7 -2
  15. package/dist/course-graph.js.map +1 -1
  16. package/dist/criticmarkup-forms.d.ts +8 -6
  17. package/dist/criticmarkup-forms.js +22 -19
  18. package/dist/criticmarkup-forms.js.map +1 -1
  19. package/dist/dedupe-errors.d.ts +16 -0
  20. package/dist/dedupe-errors.js +23 -9
  21. package/dist/dedupe-errors.js.map +1 -1
  22. package/dist/dependency-cache.d.ts +15 -5
  23. package/dist/dependency-cache.js +33 -74
  24. package/dist/dependency-cache.js.map +1 -1
  25. package/dist/dropped.d.ts +114 -0
  26. package/dist/dropped.js +253 -0
  27. package/dist/dropped.js.map +1 -0
  28. package/dist/engine/assemble.d.ts +44 -0
  29. package/dist/engine/assemble.js +132 -0
  30. package/dist/engine/assemble.js.map +1 -0
  31. package/dist/engine/build.d.ts +8 -0
  32. package/dist/engine/build.js +558 -0
  33. package/dist/engine/build.js.map +1 -0
  34. package/dist/engine/file-facts.d.ts +26 -0
  35. package/dist/engine/file-facts.js +63 -0
  36. package/dist/engine/file-facts.js.map +1 -0
  37. package/dist/engine/git-source.d.ts +35 -0
  38. package/dist/engine/git-source.js +242 -0
  39. package/dist/engine/git-source.js.map +1 -0
  40. package/dist/engine/overlay.d.ts +43 -0
  41. package/dist/engine/overlay.js +167 -0
  42. package/dist/engine/overlay.js.map +1 -0
  43. package/dist/engine/protocol.d.ts +146 -0
  44. package/dist/engine/protocol.js +40 -0
  45. package/dist/engine/protocol.js.map +1 -0
  46. package/dist/engine/reader.d.ts +133 -0
  47. package/dist/engine/reader.js +298 -0
  48. package/dist/engine/reader.js.map +1 -0
  49. package/dist/engine/sources.d.ts +39 -0
  50. package/dist/engine/sources.js +137 -0
  51. package/dist/engine/sources.js.map +1 -0
  52. package/dist/engine/sqlite-store.d.ts +99 -0
  53. package/dist/engine/sqlite-store.js +452 -0
  54. package/dist/engine/sqlite-store.js.map +1 -0
  55. package/dist/engine/store.d.ts +85 -0
  56. package/dist/engine/store.js +31 -0
  57. package/dist/engine/store.js.map +1 -0
  58. package/dist/engine/tables.d.ts +15 -0
  59. package/dist/engine/tables.js +70 -0
  60. package/dist/engine/tables.js.map +1 -0
  61. package/dist/engine/units.d.ts +58 -0
  62. package/dist/engine/units.js +186 -0
  63. package/dist/engine/units.js.map +1 -0
  64. package/dist/engine/version.d.ts +6 -0
  65. package/dist/engine/version.js +21 -0
  66. package/dist/engine/version.js.map +1 -0
  67. package/dist/engine/worker.d.ts +1 -0
  68. package/dist/engine/worker.js +220 -0
  69. package/dist/engine/worker.js.map +1 -0
  70. package/dist/flattener/index.d.ts +34 -17
  71. package/dist/flattener/index.js +245 -114
  72. package/dist/flattener/index.js.map +1 -1
  73. package/dist/flattener/resolve-text-links.d.ts +15 -14
  74. package/dist/flattener/resolve-text-links.js +24 -25
  75. package/dist/flattener/resolve-text-links.js.map +1 -1
  76. package/dist/glossary.d.ts +2 -2
  77. package/dist/glossary.js.map +1 -1
  78. package/dist/index.d.ts +168 -2
  79. package/dist/index.js +883 -639
  80. package/dist/index.js.map +1 -1
  81. package/dist/markdown-parse.d.ts +6 -0
  82. package/dist/markdown-parse.js +14 -0
  83. package/dist/markdown-parse.js.map +1 -1
  84. package/dist/parser/learning-outcome.js +11 -2
  85. package/dist/parser/learning-outcome.js.map +1 -1
  86. package/dist/parser/lens.d.ts +5 -1
  87. package/dist/parser/lens.js +22 -7
  88. package/dist/parser/lens.js.map +1 -1
  89. package/dist/parser/meeting-doc.d.ts +2 -1
  90. package/dist/parser/meeting-doc.js +2 -1
  91. package/dist/parser/meeting-doc.js.map +1 -1
  92. package/dist/parser/module.d.ts +3 -1
  93. package/dist/parser/module.js +7 -5
  94. package/dist/parser/module.js.map +1 -1
  95. package/dist/parser/question-embeds.d.ts +4 -3
  96. package/dist/parser/question-embeds.js.map +1 -1
  97. package/dist/parser/sections.d.ts +10 -0
  98. package/dist/parser/sections.js +8 -3
  99. package/dist/parser/sections.js.map +1 -1
  100. package/dist/parser/widget.d.ts +2 -1
  101. package/dist/parser/widget.js.map +1 -1
  102. package/dist/parser/wikilink.d.ts +13 -3
  103. package/dist/parser/wikilink.js +55 -34
  104. package/dist/parser/wikilink.js.map +1 -1
  105. package/dist/reference-graph.d.ts +21 -3
  106. package/dist/reference-graph.js +35 -12
  107. package/dist/reference-graph.js.map +1 -1
  108. package/dist/same-page-links.d.ts +11 -1
  109. package/dist/same-page-links.js +9 -0
  110. package/dist/same-page-links.js.map +1 -1
  111. package/dist/skill-tree.d.ts +2 -1
  112. package/dist/skill-tree.js.map +1 -1
  113. package/dist/source-location.d.ts +0 -4
  114. package/dist/source-location.js +0 -43
  115. package/dist/source-location.js.map +1 -1
  116. package/dist/validator/card-module-membership.d.ts +17 -1
  117. package/dist/validator/card-module-membership.js +60 -56
  118. package/dist/validator/card-module-membership.js.map +1 -1
  119. package/dist/validator/criticmarkup.js +1 -1
  120. package/dist/validator/criticmarkup.js.map +1 -1
  121. package/dist/validator/field-typos.d.ts +1 -1
  122. package/dist/validator/field-typos.js +21 -21
  123. package/dist/validator/field-typos.js.map +1 -1
  124. package/dist/validator/output-integrity.d.ts +9 -5
  125. package/dist/validator/output-integrity.js +43 -45
  126. package/dist/validator/output-integrity.js.map +1 -1
  127. package/dist/validator/tier.d.ts +2 -2
  128. package/dist/validator/tier.js.map +1 -1
  129. package/dist/validator/uuid.d.ts +1 -1
  130. package/package.json +2 -1
@@ -1,8 +1,10 @@
1
- import type { FlattenedModule, Section, Segment, ContentError, Course } from "../index.js";
2
- import type { ContentTier } from "../validator/tier.js";
1
+ import type { FlattenedModule, Section, Segment, ContentError, LearningOutcomeRef } from "../index.js";
2
+ import type { ContentFiles, TierMap } from "../engine/reader.js";
3
+ import { type ParsedModule } from "../parser/module.js";
3
4
  import { type ParsedLearningOutcome } from "../parser/learning-outcome.js";
4
5
  import { type ParsedLens } from "../parser/lens.js";
5
6
  import { type AuthorLink } from "../parser/author-links.js";
7
+ import { type DeclaredSection, type DroppedContent, type DroppedItem } from "../dropped.js";
6
8
  /** One credited source of a lens: the name, and its article's linked authors
7
9
  * when author_url sets them. */
8
10
  export interface AttributionSource {
@@ -13,6 +15,8 @@ export interface FlattenModuleResult {
13
15
  module: FlattenedModule | null;
14
16
  modules: FlattenedModule[];
15
17
  errors: ContentError[];
18
+ /** What errors left out of each page, in the order of `modules` (src/dropped.ts). */
19
+ dropped: DroppedItem[][];
16
20
  }
17
21
  export type BoundaryMarker = {
18
22
  __boundary: true;
@@ -37,17 +41,33 @@ export declare function splitAtBoundaries(items: FlatItem[], parentSlug: string,
37
41
  /**
38
42
  * Flatten a module by resolving all references to Learning Outcomes, Lenses, and content.
39
43
  */
40
- export declare function flattenModule(modulePath: string, files: Map<string, string>, visitedPaths?: Set<string>, tierMap?: Map<string, ContentTier>): FlattenModuleResult;
41
- /** An outcome's suggested lens files, as `files` keys (extension resolved). */
42
- export declare function suggestedLensPaths(lo: ParsedLearningOutcome, files: Map<string, string>): Set<string>;
44
+ export declare function flattenModule(modulePath: string, files: ContentFiles, visitedPaths?: Set<string>, tierMap?: TierMap): FlattenModuleResult;
43
45
  /**
44
- * A course teaches an outcome across units but tests it once, so a lens also
45
- * carries every outcome that suggests it and is tested in any module of a
46
- * course the lens's module is in. Runs after flattening, once the course
47
- * progressions are resolved to module slugs; tags from the lens's own
48
- * submodule come first, and the ones added here are marked testedElsewhere.
46
+ * The sections a module declares, for the cross-check in src/dropped.ts:
47
+ * every lens import, and every outcome import except one whose outcome
48
+ * declares no test segment (that builds nothing, on purpose). A section's page
49
+ * is the index of its `# Submodule:` (0 outside any). Paths resolve as
50
+ * flattenLensSection and flattenLearningOutcomeSection resolve them, so a
51
+ * section and its record name the same file.
49
52
  */
50
- export declare function tagCourseOutcomes(modules: FlattenedModule[], courses: Course[], lensPathsOf: (loPath: string) => Set<string>): void;
53
+ export declare function declaredSections(parsedModule: ParsedModule, modulePath: string, files: ContentFiles): DeclaredSection[];
54
+ /** An outcome imported by a module, with the lens files it suggests. */
55
+ export interface ImportedOutcome {
56
+ ref: LearningOutcomeRef;
57
+ /** Suggested lens files, as `files` keys (extension resolved). */
58
+ lensPaths: string[];
59
+ }
60
+ /** Tag a lens section with every outcome that suggests its file. An inline
61
+ * lens's sourcePath is the module file, which no outcome suggests. */
62
+ export declare function tagLensOutcomes(section: Section, outcomes: readonly ImportedOutcome[]): void;
63
+ /** An outcome's suggested lens files, as `files` keys (extension resolved). */
64
+ export declare function suggestedLensPaths(lo: ParsedLearningOutcome, files: ContentFiles): string[];
65
+ export interface ArticlePlanEntry {
66
+ segments: Segment[];
67
+ errors: ContentError[];
68
+ /** What errors left out of the excerpt (src/dropped.ts). */
69
+ dropped: DroppedContent[];
70
+ }
51
71
  interface ExpandPromptImportsResult {
52
72
  /** The field value with prompt imports inlined, or null when an import failed. */
53
73
  value: string | null;
@@ -70,18 +90,15 @@ interface ExpandPromptImportsResult {
70
90
  * doesn't resolve is an error, and the segment is dropped like a failed
71
91
  * sole import.
72
92
  */
73
- export declare function expandPromptImports(value: string, fieldName: string, lensPath: string, files: Map<string, string>, tierMap?: Map<string, ContentTier>): ExpandPromptImportsResult;
93
+ export declare function expandPromptImports(value: string, fieldName: string, lensPath: string, files: ContentFiles, tierMap?: TierMap): ExpandPromptImportsResult;
74
94
  /**
75
95
  * Flatten an article file on its own, the way the standalone article page
76
96
  * shows it: one anchorless excerpt of the whole body, split around inline
77
97
  * imports exactly as a lens excerpt would be. Errors name the article file.
78
98
  */
79
- export declare function flattenStandaloneArticle(articlePath: string, files: Map<string, string>, tierMap?: Map<string, ContentTier>): {
80
- segments: Segment[];
81
- errors: ContentError[];
82
- };
99
+ export declare function flattenStandaloneArticle(articlePath: string, files: ContentFiles, tierMap?: TierMap): ArticlePlanEntry;
83
100
  /**
84
101
  * Flatten a single Lens file into a FlattenedModule.
85
102
  */
86
- export declare function flattenLens(lensPath: string, files: Map<string, string>, tierMap?: Map<string, ContentTier>, preParsedLens?: ParsedLens): FlattenModuleResult;
103
+ export declare function flattenLens(lensPath: string, files: ContentFiles, tierMap?: TierMap, preParsedLens?: ParsedLens): FlattenModuleResult;
87
104
  export {};