cognikit 0.1.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 (107) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +316 -0
  3. package/dist/core/BaseInteraction.d.ts +78 -0
  4. package/dist/core/index.d.ts +1 -0
  5. package/dist/core/utilities/ProgressTracker.d.ts +58 -0
  6. package/dist/core/utilities/ScoringTracker.d.ts +0 -0
  7. package/dist/core/utilities/index.d.ts +1 -0
  8. package/dist/engines/index.d.ts +2 -0
  9. package/dist/engines/tables/implementation/graders.d.ts +23 -0
  10. package/dist/engines/tables/implementation/index.d.ts +4 -0
  11. package/dist/engines/tables/implementation/parsers.d.ts +36 -0
  12. package/dist/engines/tables/implementation/utils.d.ts +18 -0
  13. package/dist/engines/tables/implementation/validators.d.ts +9 -0
  14. package/dist/engines/tables/index.d.ts +2 -0
  15. package/dist/engines/tables/script.d.ts +37 -0
  16. package/dist/engines/text/implementation/graders.d.ts +69 -0
  17. package/dist/engines/text/implementation/index.d.ts +3 -0
  18. package/dist/engines/text/implementation/parsers.d.ts +9 -0
  19. package/dist/engines/text/implementation/validators.d.ts +41 -0
  20. package/dist/engines/text/index.d.ts +2 -0
  21. package/dist/engines/text/script.d.ts +56 -0
  22. package/dist/index.d.ts +6 -0
  23. package/dist/index.js +4518 -0
  24. package/dist/index.js.map +7 -0
  25. package/dist/interactions/adjacency-table/index.d.ts +26 -0
  26. package/dist/interactions/categorize-the-words/index.d.ts +2 -0
  27. package/dist/interactions/categorize-the-words/sequential.d.ts +33 -0
  28. package/dist/interactions/categorize-the-words/static.d.ts +22 -0
  29. package/dist/interactions/classification-matrix/index.d.ts +31 -0
  30. package/dist/interactions/fill-blanks/index.d.ts +2 -0
  31. package/dist/interactions/fill-blanks/sequential.d.ts +32 -0
  32. package/dist/interactions/fill-blanks/static.d.ts +23 -0
  33. package/dist/interactions/index.d.ts +17 -0
  34. package/dist/interactions/list-recall/implementation/grader.d.ts +0 -0
  35. package/dist/interactions/list-recall/implementation/index.d.ts +0 -0
  36. package/dist/interactions/list-recall/implementation/parser.d.ts +0 -0
  37. package/dist/interactions/list-recall/implementation/validator.d.ts +0 -0
  38. package/dist/interactions/list-recall/index.d.ts +1 -0
  39. package/dist/interactions/list-recall/script.d.ts +25 -0
  40. package/dist/interactions/lookup-table/index.d.ts +26 -0
  41. package/dist/interactions/mark-the-words/index.d.ts +2 -0
  42. package/dist/interactions/mark-the-words/sequential.d.ts +34 -0
  43. package/dist/interactions/mark-the-words/static.d.ts +40 -0
  44. package/dist/interactions/mcq-mrq/implementation/grader.d.ts +20 -0
  45. package/dist/interactions/mcq-mrq/implementation/index.d.ts +3 -0
  46. package/dist/interactions/mcq-mrq/implementation/parser.d.ts +21 -0
  47. package/dist/interactions/mcq-mrq/implementation/validator.d.ts +17 -0
  48. package/dist/interactions/mcq-mrq/index.d.ts +2 -0
  49. package/dist/interactions/mcq-mrq/script.d.ts +37 -0
  50. package/dist/interactions/nary-choice-table/index.d.ts +28 -0
  51. package/dist/interactions/open-classification/index.d.ts +32 -0
  52. package/dist/interactions/rank-order/implementation/grader.d.ts +15 -0
  53. package/dist/interactions/rank-order/implementation/index.d.ts +3 -0
  54. package/dist/interactions/rank-order/implementation/parser.d.ts +25 -0
  55. package/dist/interactions/rank-order/implementation/validator.d.ts +3 -0
  56. package/dist/interactions/rank-order/index.d.ts +2 -0
  57. package/dist/interactions/rank-order/script.d.ts +39 -0
  58. package/dist/interactions/register-builtins.d.ts +1 -0
  59. package/dist/interactions/registry.d.ts +30 -0
  60. package/dist/interactions/sequential-classification/index.d.ts +49 -0
  61. package/dist/interactions/shared/association-implementation/grader.d.ts +3 -0
  62. package/dist/interactions/shared/association-implementation/index.d.ts +1 -0
  63. package/dist/interactions/shared/association-implementation/parser.d.ts +0 -0
  64. package/dist/interactions/shared/association-implementation/validator.d.ts +0 -0
  65. package/dist/interactions/shared/classification-implementation/grader.d.ts +3 -0
  66. package/dist/interactions/shared/classification-implementation/index.d.ts +1 -0
  67. package/dist/interactions/shared/classification-implementation/parser.d.ts +11 -0
  68. package/dist/interactions/shared/classification-implementation/validator.d.ts +3 -0
  69. package/dist/interactions/simultaneous-association/index.d.ts +34 -0
  70. package/dist/interactions/text-transformation/index.d.ts +2 -0
  71. package/dist/interactions/text-transformation/sequential.d.ts +37 -0
  72. package/dist/interactions/text-transformation/static.d.ts +47 -0
  73. package/dist/shared/assets.d.ts +6 -0
  74. package/dist/shared/dsl.d.ts +9 -0
  75. package/dist/shared/index.d.ts +4 -0
  76. package/dist/shared/managers/AnimationsManager.d.ts +55 -0
  77. package/dist/shared/managers/SoundManager.d.ts +78 -0
  78. package/dist/shared/managers/index.d.ts +3 -0
  79. package/dist/shared/types.d.ts +25 -0
  80. package/dist/shared/utils.d.ts +13 -0
  81. package/dist/shell/index.d.ts +1 -0
  82. package/dist/shell/simple-shell/index.d.ts +1 -0
  83. package/dist/shell/simple-shell/script.d.ts +61 -0
  84. package/dist/types/Assets.d.ts +40 -0
  85. package/dist/types/Data.d.ts +32 -0
  86. package/dist/types/Global.d.ts +24 -0
  87. package/dist/types/Grading.d.ts +8 -0
  88. package/dist/types/Input.d.ts +35 -0
  89. package/dist/types/Interactions.d.ts +28 -0
  90. package/dist/types/Tables.d.ts +40 -0
  91. package/dist/types/Text.d.ts +125 -0
  92. package/dist/types/index.d.ts +3 -0
  93. package/dist/ui/index.d.ts +2 -0
  94. package/dist/ui/input/color/color-picker.d.ts +37 -0
  95. package/dist/ui/input/color/index.d.ts +0 -0
  96. package/dist/ui/input/index.d.ts +1 -0
  97. package/dist/ui/input/input/index.d.ts +1 -0
  98. package/dist/ui/input/input/input.d.ts +22 -0
  99. package/dist/ui/input/letter/index.d.ts +0 -0
  100. package/dist/ui/input/letter/letter-picker.d.ts +27 -0
  101. package/dist/ui/misc/block.d.ts +14 -0
  102. package/dist/ui/misc/chip/chip.d.ts +46 -0
  103. package/dist/ui/misc/chip/index.d.ts +1 -0
  104. package/dist/ui/misc/dialog.d.ts +24 -0
  105. package/dist/ui/misc/index.d.ts +4 -0
  106. package/dist/ui/misc/media.d.ts +54 -0
  107. package/package.json +59 -0
@@ -0,0 +1,69 @@
1
+ import { TextEngineBaseData, TextEngineBlanksData, TextEngineClassificationData } from "../../../types/Text";
2
+ import { GradingResult, GradingState } from "../../../types/Grading";
3
+ /**
4
+ * User data for base interactions (highlight, DND, transformation)
5
+ */
6
+ export type TextEngineBaseUserData = {
7
+ selectedIndices?: number[];
8
+ placedIndices?: number[];
9
+ dndPlacements?: Record<number, string>;
10
+ transformations?: Record<number, string[]>;
11
+ };
12
+ /**
13
+ * User data for blanks interactions (fill-in-the-blanks)
14
+ */
15
+ export type TextEngineBlanksUserData = {
16
+ inputValues: Record<string, any>;
17
+ };
18
+ /**
19
+ * User data for classification interactions
20
+ */
21
+ export type TextEngineClassificationUserData = {
22
+ wordCategories: Record<number, string>;
23
+ };
24
+ export type TextEngineBaseGradingState = Record<number, GradingState>;
25
+ export type TextEngineBlanksGradingState = Record<string, GradingState>;
26
+ export type TextEngineClassificationGradingState = Record<number, GradingState>;
27
+ /**
28
+ * Grade highlight interaction
29
+ * User must select all and only the target words
30
+ */
31
+ export declare function textEngineHighlightGrader(data: TextEngineBaseData, userData: TextEngineBaseUserData): GradingResult;
32
+ /**
33
+ * Grade DND (drag and drop) interaction
34
+ * User must place target words in correct positions
35
+ */
36
+ export declare function textEngineDNDGrader(data: TextEngineBaseData, userData: TextEngineBaseUserData): GradingResult;
37
+ export declare function getDNDGradingState(data: TextEngineBaseData, userData: TextEngineBaseUserData): TextEngineBaseGradingState;
38
+ /**
39
+ * Grade transformation interaction
40
+ * User must transform target text correctly
41
+ * Comparison is case-insensitive and trimmed
42
+ */
43
+ export declare function textEngineTransformationGrader(data: TextEngineBaseData, userData: TextEngineBaseUserData, expectedTransformations: Record<number, string[]>): GradingResult;
44
+ /**
45
+ * Generate per-target grading state for transformation interaction
46
+ */
47
+ export declare function getTransformationGradingState(data: TextEngineBaseData, userData: TextEngineBaseUserData, expectedTransformations: Record<number, string[]>): TextEngineBaseGradingState;
48
+ /**
49
+ * Generate per-target grading state for highlight interaction
50
+ */
51
+ export declare function getHighlightGradingState(data: TextEngineBaseData, userData: TextEngineBaseUserData): TextEngineBaseGradingState;
52
+ /**
53
+ * Grade fill-in-the-blanks interaction
54
+ * Compares user input values against expected values for each input element
55
+ */
56
+ export declare function textEngineBlanksGrader(data: TextEngineBlanksData, userData: TextEngineBlanksUserData): GradingResult;
57
+ /**
58
+ * Generate per-input grading state for blanks interaction
59
+ */
60
+ export declare function getBlanksGradingState(data: TextEngineBlanksData, userData: TextEngineBlanksUserData): TextEngineBlanksGradingState;
61
+ /**
62
+ * Grade classification interaction
63
+ * User must assign each target word to the correct category
64
+ */
65
+ export declare function textEngineClassificationGrader(data: TextEngineClassificationData, userData: TextEngineClassificationUserData): GradingResult;
66
+ /**
67
+ * Generate per-word grading state for classification interaction
68
+ */
69
+ export declare function getClassificationGradingState(data: TextEngineClassificationData, userData: TextEngineClassificationUserData): TextEngineClassificationGradingState;
@@ -0,0 +1,3 @@
1
+ export { textEngineBaseGrammarParser, textEngineBlanksGrammarParser, textEngineClassificationGrammarParser, parseTextEngineSequential } from './parsers';
2
+ export { textEngineBaseDataValidator, textEngineBlanksDataValidator, textEngineClassificationDataValidator, textEngineDataValidator } from './validators';
3
+ export { type TextEngineBaseUserData, type TextEngineBlanksUserData, type TextEngineClassificationUserData, type TextEngineBaseGradingState, type TextEngineBlanksGradingState, type TextEngineClassificationGradingState, textEngineHighlightGrader, textEngineDNDGrader, textEngineTransformationGrader, getHighlightGradingState, getDNDGradingState, getTransformationGradingState, textEngineBlanksGrader, getBlanksGradingState, textEngineClassificationGrader, getClassificationGradingState } from './graders';
@@ -0,0 +1,9 @@
1
+ import { TextEngineDataUnion, TextEngineModality, TextEngineBaseData, TextEngineBlanksData, TextEngineClassificationData, TextEngineSequentialInteractionData } from "../../../types/Text";
2
+ import { GrammarParser, GrammarParseResult } from "../../../types/Global";
3
+ export declare const textEngineBaseGrammarParser: GrammarParser<TextEngineBaseData>;
4
+ export declare const textEngineBlanksGrammarParser: GrammarParser<TextEngineBlanksData>;
5
+ export declare const textEngineClassificationGrammarParser: GrammarParser<TextEngineClassificationData>;
6
+ /**
7
+ * Just a bulk caller to the guys who do the real job.
8
+ */
9
+ export declare function parseTextEngineSequential<T extends TextEngineDataUnion>(code: string, modality: TextEngineModality): GrammarParseResult<TextEngineSequentialInteractionData>;
@@ -0,0 +1,41 @@
1
+ import { TextEngineBaseData, TextEngineBlanksData, TextEngineClassificationData, TextEngineDataUnion } from "../../../types/Text";
2
+ import { ValidationResult } from "../../../types/Global";
3
+ /**
4
+ * Validates TextEngineBaseData for highlight/DND/transformation interactions
5
+ *
6
+ * Checks:
7
+ * - Parts array is not empty
8
+ * - Targets array is not empty
9
+ * - Each target has valid words, startPos, endPos
10
+ * - Target positions are within bounds of parts array
11
+ * - Target words match parts at specified positions
12
+ * - Distractors (if present) are non-empty and unique
13
+ */
14
+ export declare function textEngineBaseDataValidator(data: TextEngineBaseData): ValidationResult;
15
+ /**
16
+ * Validates TextEngineBlanksData for fill-in-the-blanks interactions
17
+ *
18
+ * Checks:
19
+ * - Parts array is not empty
20
+ * - Targets array is not empty
21
+ * - Each target has valid id and expectedValue
22
+ * - Expected values have proper structure (InputElementData)
23
+ * - No duplicate target IDs
24
+ */
25
+ export declare function textEngineBlanksDataValidator(data: TextEngineBlanksData): ValidationResult;
26
+ /**
27
+ * Validates TextEngineClassificationData
28
+ *
29
+ * Checks:
30
+ * - Parts array is not empty
31
+ * - Targets array is not empty (at least one category)
32
+ * - Each category target has valid category name and targets array
33
+ * - Category names are unique
34
+ * - Each category has at least one target
35
+ * - Target positions are valid and within bounds
36
+ */
37
+ export declare function textEngineClassificationDataValidator(data: TextEngineClassificationData): ValidationResult;
38
+ /**
39
+ * Unified validator that routes to the appropriate validator based on data type
40
+ */
41
+ export declare function textEngineDataValidator(data: TextEngineDataUnion): ValidationResult;
@@ -0,0 +1,2 @@
1
+ export * from "./implementation";
2
+ export { EduText } from "./script";
@@ -0,0 +1,56 @@
1
+ import { TextEngineConfiguration, TextEngineState, TextEngineGradingState } from "../../types/Text";
2
+ type EduTextElement = HTMLElement & {
3
+ config: TextEngineConfiguration;
4
+ getValue(): any;
5
+ getState(): TextEngineState;
6
+ setState(next: Partial<TextEngineState>): void;
7
+ reset(): void;
8
+ setGradingState(state: TextEngineGradingState): void;
9
+ clearGradingState(): void;
10
+ };
11
+ export declare class EduText extends HTMLElement implements EduTextElement {
12
+ private _config;
13
+ private _state;
14
+ private _mounted;
15
+ static get observedAttributes(): string[];
16
+ private $wrapEl;
17
+ constructor();
18
+ connectedCallback(): void;
19
+ disconnectedCallback(): void;
20
+ set config(v: TextEngineConfiguration);
21
+ get config(): TextEngineConfiguration;
22
+ getValue(): any;
23
+ getState(): TextEngineState;
24
+ setState(next: Partial<TextEngineState>): void;
25
+ reset(): void;
26
+ setGradingState(state: TextEngineGradingState): void;
27
+ clearGradingState(): void;
28
+ attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
29
+ private upsertHtmlAttribute;
30
+ private removeHtmlAttribute;
31
+ private upsertHtmlClass;
32
+ private removeHtmlClassPrefix;
33
+ private initState;
34
+ private render;
35
+ private renderHighlight;
36
+ private renderBlanks;
37
+ private renderClassification;
38
+ private renderDND;
39
+ private renderTransformation;
40
+ private onClick;
41
+ private onChange;
42
+ private onInput;
43
+ private onDragStart;
44
+ private onDragOver;
45
+ private onDrop;
46
+ private _activeCategory;
47
+ private toggleWordSelection;
48
+ private setActiveCategory;
49
+ private assignWordToCategory;
50
+ private updateInputValue;
51
+ private updateTransformation;
52
+ private placeWordInDropzone;
53
+ private clearDropzone;
54
+ private emitChange;
55
+ }
56
+ export {};
@@ -0,0 +1,6 @@
1
+ export * from "./core";
2
+ export * from "./ui";
3
+ export * from "./engines";
4
+ export * from "./interactions";
5
+ export * from "./shell";
6
+ export * from "./shared";