@nakafa/aksara-contracts 0.27.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.
- package/LICENSE +185 -0
- package/README.md +73 -0
- package/dist/artifact/integrity.d.ts +29 -0
- package/dist/artifact/integrity.js +54 -0
- package/dist/artifact/limits.d.ts +26 -0
- package/dist/artifact/limits.js +46 -0
- package/dist/artifact/source.d.ts +21 -0
- package/dist/artifact/source.js +24 -0
- package/dist/artifact/spec.d.ts +148 -0
- package/dist/artifact/spec.js +92 -0
- package/dist/artifact/verify.d.ts +26 -0
- package/dist/artifact/verify.js +18 -0
- package/dist/cache/content.d.ts +52 -0
- package/dist/cache/content.js +80 -0
- package/dist/content.d.ts +168 -0
- package/dist/content.js +107 -0
- package/dist/country.d.ts +4 -0
- package/dist/country.js +8 -0
- package/dist/date.d.ts +24 -0
- package/dist/date.js +44 -0
- package/dist/decode.d.ts +4 -0
- package/dist/decode.js +8 -0
- package/dist/delivery.d.ts +4 -0
- package/dist/delivery.js +7 -0
- package/dist/errors.d.ts +10 -0
- package/dist/errors.js +8 -0
- package/dist/graph/family.d.ts +45 -0
- package/dist/graph/family.js +85 -0
- package/dist/graph/identity.d.ts +19 -0
- package/dist/graph/identity.js +39 -0
- package/dist/graph/spec.d.ts +20 -0
- package/dist/graph/spec.js +26 -0
- package/dist/hash/text.d.ts +10 -0
- package/dist/hash/text.js +20 -0
- package/dist/ids.d.ts +27 -0
- package/dist/ids.js +63 -0
- package/dist/limits.d.ts +10 -0
- package/dist/limits.js +10 -0
- package/dist/locale.d.ts +37 -0
- package/dist/locale.js +53 -0
- package/dist/material/domain.d.ts +4 -0
- package/dist/material/domain.js +8 -0
- package/dist/preview/artifact.d.ts +198 -0
- package/dist/preview/artifact.js +20 -0
- package/dist/preview/auth.d.ts +71 -0
- package/dist/preview/auth.js +49 -0
- package/dist/preview/document.d.ts +692 -0
- package/dist/preview/document.js +90 -0
- package/dist/preview/spec.d.ts +2517 -0
- package/dist/preview/spec.js +142 -0
- package/dist/preview/target.d.ts +172 -0
- package/dist/preview/target.js +70 -0
- package/dist/program/curriculum.d.ts +69 -0
- package/dist/program/curriculum.js +181 -0
- package/dist/program/snapshot/digest.d.ts +26 -0
- package/dist/program/snapshot/digest.js +220 -0
- package/dist/program/snapshot/hash.d.ts +31 -0
- package/dist/program/snapshot/hash.js +40 -0
- package/dist/program/snapshot/row-hash.d.ts +155 -0
- package/dist/program/snapshot/row-hash.js +34 -0
- package/dist/program/snapshot/row.d.ts +139 -0
- package/dist/program/snapshot/row.js +28 -0
- package/dist/program/snapshot/spec.d.ts +36 -0
- package/dist/program/snapshot/spec.js +39 -0
- package/dist/program/spec.d.ts +85 -0
- package/dist/program/spec.js +197 -0
- package/dist/projection/article.d.ts +145 -0
- package/dist/projection/article.js +150 -0
- package/dist/projection/digest.d.ts +261 -0
- package/dist/projection/digest.js +59 -0
- package/dist/projection/hash.d.ts +3 -0
- package/dist/projection/hash.js +10 -0
- package/dist/projection/material.d.ts +109 -0
- package/dist/projection/material.js +160 -0
- package/dist/projection/page.d.ts +112 -0
- package/dist/projection/page.js +106 -0
- package/dist/projection/question.d.ts +520 -0
- package/dist/projection/question.js +109 -0
- package/dist/projection/spec.d.ts +503 -0
- package/dist/projection/spec.js +56 -0
- package/dist/projection/verify.d.ts +281 -0
- package/dist/projection/verify.js +86 -0
- package/dist/question/identity.d.ts +175 -0
- package/dist/question/identity.js +205 -0
- package/dist/question/item.d.ts +453 -0
- package/dist/question/item.js +146 -0
- package/dist/question/response.d.ts +175 -0
- package/dist/question/response.js +150 -0
- package/dist/quran/attribution.d.ts +48 -0
- package/dist/quran/attribution.js +44 -0
- package/dist/quran/identity.d.ts +105 -0
- package/dist/quran/identity.js +100 -0
- package/dist/quran/notes.d.ts +56 -0
- package/dist/quran/notes.js +142 -0
- package/dist/quran/provenance.d.ts +257 -0
- package/dist/quran/provenance.js +144 -0
- package/dist/quran/snapshot/digest.d.ts +33 -0
- package/dist/quran/snapshot/digest.js +232 -0
- package/dist/quran/snapshot/hash.d.ts +51 -0
- package/dist/quran/snapshot/hash.js +50 -0
- package/dist/quran/snapshot/row/hash.d.ts +748 -0
- package/dist/quran/snapshot/row/hash.js +115 -0
- package/dist/quran/snapshot/row.d.ts +354 -0
- package/dist/quran/snapshot/row.js +91 -0
- package/dist/quran/snapshot/spec.d.ts +50 -0
- package/dist/quran/snapshot/spec.js +66 -0
- package/dist/quran/source.d.ts +206 -0
- package/dist/quran/source.js +153 -0
- package/dist/quran/spec.d.ts +47 -0
- package/dist/quran/spec.js +41 -0
- package/dist/quran/text.d.ts +7 -0
- package/dist/quran/text.js +11 -0
- package/dist/release/canonical.d.ts +23 -0
- package/dist/release/canonical.js +29 -0
- package/dist/release/current/evidence.d.ts +424 -0
- package/dist/release/current/evidence.js +41 -0
- package/dist/release/current/runtime.d.ts +4 -0
- package/dist/release/current/runtime.js +15 -0
- package/dist/release/current/state.d.ts +567 -0
- package/dist/release/current/state.js +91 -0
- package/dist/release/digest.d.ts +54 -0
- package/dist/release/digest.js +71 -0
- package/dist/release/hash.d.ts +72 -0
- package/dist/release/hash.js +14 -0
- package/dist/release/head.d.ts +206 -0
- package/dist/release/head.js +131 -0
- package/dist/release/items.d.ts +98 -0
- package/dist/release/items.js +114 -0
- package/dist/release/lifecycle.d.ts +297 -0
- package/dist/release/lifecycle.js +97 -0
- package/dist/release/origin.d.ts +30 -0
- package/dist/release/origin.js +24 -0
- package/dist/release/policy.d.ts +45 -0
- package/dist/release/policy.js +124 -0
- package/dist/release/result/digest.d.ts +127 -0
- package/dist/release/result/digest.js +140 -0
- package/dist/release/result/spec.d.ts +4 -0
- package/dist/release/result/spec.js +5 -0
- package/dist/release/rollback/digest.d.ts +126 -0
- package/dist/release/rollback/digest.js +92 -0
- package/dist/release/rollback/spec.d.ts +1729 -0
- package/dist/release/rollback/spec.js +156 -0
- package/dist/release/route/digest.d.ts +45 -0
- package/dist/release/route/digest.js +59 -0
- package/dist/release/route/page.d.ts +56 -0
- package/dist/release/route/page.js +46 -0
- package/dist/release/route/spec.d.ts +49 -0
- package/dist/release/route/spec.js +40 -0
- package/dist/release/route/verify.d.ts +66 -0
- package/dist/release/route/verify.js +67 -0
- package/dist/release/signing.d.ts +6 -0
- package/dist/release/signing.js +38 -0
- package/dist/release/snapshot/data.d.ts +475 -0
- package/dist/release/snapshot/data.js +74 -0
- package/dist/release/snapshot/evidence-requirement.d.ts +22 -0
- package/dist/release/snapshot/evidence-requirement.js +21 -0
- package/dist/release/snapshot/evidence.d.ts +58 -0
- package/dist/release/snapshot/evidence.js +14 -0
- package/dist/release/snapshot/program-evidence.d.ts +17 -0
- package/dist/release/snapshot/program-evidence.js +39 -0
- package/dist/release/snapshot/quran-evidence.d.ts +27 -0
- package/dist/release/snapshot/quran-evidence.js +43 -0
- package/dist/release/snapshot/scope.d.ts +60 -0
- package/dist/release/snapshot/scope.js +102 -0
- package/dist/release/snapshot/spec.d.ts +193 -0
- package/dist/release/snapshot/spec.js +139 -0
- package/dist/release/snapshot/tryout-evidence.d.ts +22 -0
- package/dist/release/snapshot/tryout-evidence.js +86 -0
- package/dist/release/snapshot/verify.d.ts +710 -0
- package/dist/release/snapshot/verify.js +147 -0
- package/dist/release/spec.d.ts +491 -0
- package/dist/release/spec.js +200 -0
- package/dist/release/verify.d.ts +98 -0
- package/dist/release/verify.js +70 -0
- package/dist/renderer/compatibility.d.ts +35 -0
- package/dist/renderer/compatibility.js +48 -0
- package/dist/renderer/component.d.ts +99 -0
- package/dist/renderer/component.js +102 -0
- package/dist/renderer/contract.d.ts +144 -0
- package/dist/renderer/contract.js +122 -0
- package/dist/renderer/domain.d.ts +6 -0
- package/dist/renderer/domain.js +18 -0
- package/dist/renderer/manifest.d.ts +86 -0
- package/dist/renderer/manifest.js +49 -0
- package/dist/renderer/selection.d.ts +39 -0
- package/dist/renderer/selection.js +87 -0
- package/dist/runtime/error.d.ts +8 -0
- package/dist/runtime/error.js +20 -0
- package/dist/runtime/protected/limits.d.ts +10 -0
- package/dist/runtime/protected/limits.js +15 -0
- package/dist/runtime/protected/spec.d.ts +328 -0
- package/dist/runtime/protected/spec.js +79 -0
- package/dist/runtime/protected/verify.d.ts +97 -0
- package/dist/runtime/protected/verify.js +72 -0
- package/dist/runtime/result.d.ts +12 -0
- package/dist/runtime/result.js +17 -0
- package/dist/runtime/spec.d.ts +705 -0
- package/dist/runtime/spec.js +61 -0
- package/dist/runtime/verify.d.ts +479 -0
- package/dist/runtime/verify.js +123 -0
- package/dist/signature/spec.d.ts +53 -0
- package/dist/signature/spec.js +29 -0
- package/dist/signature/trusted.d.ts +19 -0
- package/dist/signature/trusted.js +32 -0
- package/dist/signature/verify.d.ts +10 -0
- package/dist/signature/verify.js +82 -0
- package/dist/text/order.d.ts +2 -0
- package/dist/text/order.js +10 -0
- package/dist/text/syntax.d.ts +6 -0
- package/dist/text/syntax.js +15 -0
- package/dist/transport/batch.d.ts +971 -0
- package/dist/transport/batch.js +101 -0
- package/dist/transport/failure.d.ts +168 -0
- package/dist/transport/failure.js +194 -0
- package/dist/transport/group.d.ts +2946 -0
- package/dist/transport/group.js +47 -0
- package/dist/transport/limits.d.ts +30 -0
- package/dist/transport/limits.js +30 -0
- package/dist/transport/request.d.ts +9333 -0
- package/dist/transport/request.js +121 -0
- package/dist/transport/response.d.ts +6247 -0
- package/dist/transport/response.js +181 -0
- package/dist/transport/runtime.d.ts +77 -0
- package/dist/transport/runtime.js +33 -0
- package/dist/transport/snapshot.d.ts +978 -0
- package/dist/transport/snapshot.js +70 -0
- package/dist/tryout/canonical.d.ts +2 -0
- package/dist/tryout/canonical.js +11 -0
- package/dist/tryout/catalog-hash.d.ts +134 -0
- package/dist/tryout/catalog-hash.js +203 -0
- package/dist/tryout/catalog.d.ts +376 -0
- package/dist/tryout/catalog.js +147 -0
- package/dist/tryout/content-hash.d.ts +89 -0
- package/dist/tryout/content-hash.js +72 -0
- package/dist/tryout/identity.d.ts +12 -0
- package/dist/tryout/identity.js +46 -0
- package/dist/tryout/key.d.ts +4 -0
- package/dist/tryout/key.js +8 -0
- package/dist/tryout/language.d.ts +24 -0
- package/dist/tryout/language.js +32 -0
- package/dist/tryout/locale-closure.d.ts +20 -0
- package/dist/tryout/locale-closure.js +164 -0
- package/dist/tryout/placement-closure.d.ts +5 -0
- package/dist/tryout/placement-closure.js +30 -0
- package/dist/tryout/placement-hash.d.ts +11 -0
- package/dist/tryout/placement-hash.js +55 -0
- package/dist/tryout/placement.d.ts +280 -0
- package/dist/tryout/placement.js +82 -0
- package/dist/tryout/row-hash.d.ts +28 -0
- package/dist/tryout/row-hash.js +50 -0
- package/dist/tryout/runtime/canonical.d.ts +8 -0
- package/dist/tryout/runtime/canonical.js +33 -0
- package/dist/tryout/runtime/hash.d.ts +32 -0
- package/dist/tryout/runtime/hash.js +11 -0
- package/dist/tryout/runtime/source.d.ts +42 -0
- package/dist/tryout/runtime/source.js +47 -0
- package/dist/tryout/runtime/spec.d.ts +58 -0
- package/dist/tryout/runtime/spec.js +21 -0
- package/dist/tryout/runtime/verify.d.ts +61 -0
- package/dist/tryout/runtime/verify.js +69 -0
- package/dist/tryout/snapshot/canonical.d.ts +7 -0
- package/dist/tryout/snapshot/canonical.js +17 -0
- package/dist/tryout/snapshot/hash.d.ts +8 -0
- package/dist/tryout/snapshot/hash.js +19 -0
- package/dist/tryout/snapshot/spec.d.ts +46 -0
- package/dist/tryout/snapshot/spec.js +30 -0
- package/dist/tryout/spec.d.ts +13 -0
- package/dist/tryout/spec.js +15 -0
- package/package.json +506 -0
|
@@ -0,0 +1,710 @@
|
|
|
1
|
+
import { Effect, Schema, Stream } from "effect";
|
|
2
|
+
import { type ContentSnapshotSet } from "#contracts/release/snapshot/spec";
|
|
3
|
+
declare const SnapshotManifestDecodeError_base: Schema.Class<SnapshotManifestDecodeError, Schema.TaggedStruct<"SnapshotManifestDecodeError", {
|
|
4
|
+
readonly manifestIndex: Schema.Int;
|
|
5
|
+
}>, import("effect/Cause").YieldableError>;
|
|
6
|
+
/** One replacement manifest failed strict wire decoding. */
|
|
7
|
+
export declare class SnapshotManifestDecodeError extends SnapshotManifestDecodeError_base {
|
|
8
|
+
}
|
|
9
|
+
declare const SnapshotManifestOrderError_base: Schema.Class<SnapshotManifestOrderError, Schema.TaggedStruct<"SnapshotManifestOrderError", {
|
|
10
|
+
readonly actualFamily: Schema.Literals<readonly ["program", "quran", "tryout"]>;
|
|
11
|
+
readonly manifestIndex: Schema.Int;
|
|
12
|
+
readonly previousFamily: Schema.Literals<readonly ["program", "quran", "tryout"]>;
|
|
13
|
+
}>, import("effect/Cause").YieldableError>;
|
|
14
|
+
/** Replacement manifests are duplicated or outside canonical family order. */
|
|
15
|
+
export declare class SnapshotManifestOrderError extends SnapshotManifestOrderError_base {
|
|
16
|
+
}
|
|
17
|
+
declare const SnapshotRowDecodeError_base: Schema.Class<SnapshotRowDecodeError, Schema.TaggedStruct<"SnapshotRowDecodeError", {
|
|
18
|
+
readonly rowIndex: Schema.Int;
|
|
19
|
+
}>, import("effect/Cause").YieldableError>;
|
|
20
|
+
/** One structured snapshot row failed strict wire decoding. */
|
|
21
|
+
export declare class SnapshotRowDecodeError extends SnapshotRowDecodeError_base {
|
|
22
|
+
}
|
|
23
|
+
declare const SnapshotRowFamilyError_base: Schema.Class<SnapshotRowFamilyError, Schema.TaggedStruct<"SnapshotRowFamilyError", {
|
|
24
|
+
readonly family: Schema.Literals<readonly ["program", "quran", "tryout"]>;
|
|
25
|
+
readonly rowIndex: Schema.Int;
|
|
26
|
+
}>, import("effect/Cause").YieldableError>;
|
|
27
|
+
/** A staged row belongs to a family this release does not replace. */
|
|
28
|
+
export declare class SnapshotRowFamilyError extends SnapshotRowFamilyError_base {
|
|
29
|
+
}
|
|
30
|
+
declare const SnapshotTransitionError_base: Schema.Class<SnapshotTransitionError, Schema.TaggedStruct<"SnapshotTransitionError", {
|
|
31
|
+
readonly family: Schema.Literals<readonly ["program", "quran", "tryout"]>;
|
|
32
|
+
}>, import("effect/Cause").YieldableError>;
|
|
33
|
+
/** A replacement manifest cannot form a coherent forward transition. */
|
|
34
|
+
export declare class SnapshotTransitionError extends SnapshotTransitionError_base {
|
|
35
|
+
}
|
|
36
|
+
declare const SnapshotStagedCountError_base: Schema.Class<SnapshotStagedCountError, Schema.TaggedStruct<"SnapshotStagedCountError", {
|
|
37
|
+
readonly actualCount: Schema.Int;
|
|
38
|
+
readonly expectedCount: Schema.Int;
|
|
39
|
+
readonly verifiedCount: Schema.Int;
|
|
40
|
+
}>, import("effect/Cause").YieldableError>;
|
|
41
|
+
/** The staged row stream count differs from all signed family evidence. */
|
|
42
|
+
export declare class SnapshotStagedCountError extends SnapshotStagedCountError_base {
|
|
43
|
+
}
|
|
44
|
+
/** Fixed verified snapshot state selected by one global release. */
|
|
45
|
+
export interface VerifiedContentSnapshots {
|
|
46
|
+
readonly snapshots: ContentSnapshotSet;
|
|
47
|
+
readonly stagedRows: number;
|
|
48
|
+
}
|
|
49
|
+
/** Strictly decodes replayable replacement manifests in canonical order. */
|
|
50
|
+
export declare function decodeContentSnapshotManifests<E, R>(manifests: Stream.Stream<unknown, E, R>): Stream.Stream<{
|
|
51
|
+
readonly family: "program";
|
|
52
|
+
readonly manifest: {
|
|
53
|
+
readonly curriculumRowCount: number;
|
|
54
|
+
readonly programRowCount: number;
|
|
55
|
+
readonly rowCount: number;
|
|
56
|
+
readonly sitemapCount: number;
|
|
57
|
+
readonly slugCount: number;
|
|
58
|
+
readonly activeAppLocales: readonly [("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">, ...(("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">)[]];
|
|
59
|
+
readonly rowDigest: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
60
|
+
readonly format: "localized-program-snapshot";
|
|
61
|
+
readonly snapshotId: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
62
|
+
};
|
|
63
|
+
} | {
|
|
64
|
+
readonly family: "quran";
|
|
65
|
+
readonly manifest: {
|
|
66
|
+
readonly activeAppLocales: readonly [("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">, ...(("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">)[]];
|
|
67
|
+
readonly attributionCount: number;
|
|
68
|
+
readonly chunkCount: number;
|
|
69
|
+
readonly projectionCount: number;
|
|
70
|
+
readonly projectionDigest: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
71
|
+
readonly provenanceDigest: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
72
|
+
readonly provenanceStatus: "approved" | "blocked";
|
|
73
|
+
readonly runtimeCount: number;
|
|
74
|
+
readonly runtimeDigest: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
75
|
+
readonly searchCount: number;
|
|
76
|
+
readonly searchDigest: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
77
|
+
readonly sourceBytes: number;
|
|
78
|
+
readonly sourceDigest: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
79
|
+
readonly sourceFileCount: number;
|
|
80
|
+
readonly surahCount: number;
|
|
81
|
+
readonly tafsirLocales: readonly "id"[];
|
|
82
|
+
readonly verseCount: number;
|
|
83
|
+
readonly format: "localized-quran-snapshot";
|
|
84
|
+
readonly snapshotId: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
85
|
+
};
|
|
86
|
+
} | {
|
|
87
|
+
readonly family: "tryout";
|
|
88
|
+
readonly manifest: {
|
|
89
|
+
readonly activeAppLocales: readonly [("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">, ...(("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">)[]];
|
|
90
|
+
readonly catalogDigest: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
91
|
+
readonly counts: {
|
|
92
|
+
readonly country: number;
|
|
93
|
+
readonly exam: number;
|
|
94
|
+
readonly section: number;
|
|
95
|
+
readonly set: number;
|
|
96
|
+
readonly track: number;
|
|
97
|
+
};
|
|
98
|
+
readonly placementCount: number;
|
|
99
|
+
readonly placementDigest: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
100
|
+
readonly routeCount: number;
|
|
101
|
+
readonly format: "localized-tryout-snapshot";
|
|
102
|
+
readonly snapshotId: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
103
|
+
};
|
|
104
|
+
}, E | SnapshotManifestDecodeError | SnapshotManifestOrderError, R>;
|
|
105
|
+
/** Strictly decodes replayable structured rows without retaining bodies. */
|
|
106
|
+
export declare function decodeContentSnapshotRows<E, R>(rows: Stream.Stream<unknown, E, R>): Stream.Stream<{
|
|
107
|
+
readonly family: "program";
|
|
108
|
+
readonly record: {
|
|
109
|
+
readonly kind: "program";
|
|
110
|
+
readonly row: {
|
|
111
|
+
readonly defaultCoverageStatus: "archived" | "available" | "hidden" | "partial" | "planned";
|
|
112
|
+
readonly displayOrder: number;
|
|
113
|
+
readonly iconKey: "advanced" | "assessment" | "certificate" | "course" | "diploma" | "early-years" | "global-education" | "grade-1" | "grade-10" | "grade-11" | "grade-12" | "grade-2" | "grade-3" | "grade-4" | "grade-5" | "grade-6" | "grade-7" | "grade-8" | "grade-9" | "high-school" | "mathematics" | "middle-school" | "primary-school" | "school" | "science" | "standards" | "state";
|
|
114
|
+
readonly key: string & import("effect/Brand").Brand<"@NakafaAI/AksaraLearningProgramKey">;
|
|
115
|
+
readonly kind: "admission-exam" | "assessment" | "custom-program" | "institution-program" | "school-curriculum";
|
|
116
|
+
readonly navigation: {
|
|
117
|
+
readonly levels: readonly ["class" | "course" | "domain" | "lesson" | "phase" | "section" | "set" | "stage" | "subject" | "topic" | "track" | "unit", ...("class" | "course" | "domain" | "lesson" | "phase" | "section" | "set" | "stage" | "subject" | "topic" | "track" | "unit")[]];
|
|
118
|
+
readonly model: "course-unit-lesson" | "curriculum-tree" | "exam-domain-set" | "track-topic";
|
|
119
|
+
};
|
|
120
|
+
readonly provider: {
|
|
121
|
+
readonly homeCountry?: string | undefined;
|
|
122
|
+
readonly kind: "institution" | "learner" | "nakafa" | "official";
|
|
123
|
+
readonly name: string;
|
|
124
|
+
};
|
|
125
|
+
readonly recommendedCountry?: string | undefined;
|
|
126
|
+
readonly sources: readonly [{
|
|
127
|
+
readonly label: string;
|
|
128
|
+
readonly retrievedAt: string;
|
|
129
|
+
readonly reviewAfter?: string | undefined;
|
|
130
|
+
readonly type: "institution-document" | "nakafa-editorial" | "official-blueprint" | "official-policy" | "official-portal";
|
|
131
|
+
readonly url: string;
|
|
132
|
+
}, ...{
|
|
133
|
+
readonly label: string;
|
|
134
|
+
readonly retrievedAt: string;
|
|
135
|
+
readonly reviewAfter?: string | undefined;
|
|
136
|
+
readonly type: "institution-document" | "nakafa-editorial" | "official-blueprint" | "official-policy" | "official-portal";
|
|
137
|
+
readonly url: string;
|
|
138
|
+
}[]];
|
|
139
|
+
readonly translations: readonly [{
|
|
140
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
141
|
+
readonly publicSlug: string;
|
|
142
|
+
readonly title: string;
|
|
143
|
+
}, ...{
|
|
144
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
145
|
+
readonly publicSlug: string;
|
|
146
|
+
readonly title: string;
|
|
147
|
+
}[]];
|
|
148
|
+
readonly version: {
|
|
149
|
+
readonly endsAt?: string | undefined;
|
|
150
|
+
readonly label: string;
|
|
151
|
+
readonly startsAt?: string | undefined;
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
readonly rowHash: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
155
|
+
} | {
|
|
156
|
+
readonly kind: "curriculum";
|
|
157
|
+
readonly row: {
|
|
158
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
159
|
+
readonly canonicalPath?: (string & import("effect/Brand").Brand<"@NakafaAI/AksaraPublicPath">) | undefined;
|
|
160
|
+
readonly displayGroupIconKey?: "advanced" | "assessment" | "certificate" | "course" | "diploma" | "early-years" | "global-education" | "grade-1" | "grade-10" | "grade-11" | "grade-12" | "grade-2" | "grade-3" | "grade-4" | "grade-5" | "grade-6" | "grade-7" | "grade-8" | "grade-9" | "high-school" | "mathematics" | "middle-school" | "primary-school" | "school" | "science" | "standards" | "state" | undefined;
|
|
161
|
+
readonly displayGroupTitle?: string | undefined;
|
|
162
|
+
readonly iconKey: "advanced" | "assessment" | "certificate" | "course" | "diploma" | "early-years" | "global-education" | "grade-1" | "grade-10" | "grade-11" | "grade-12" | "grade-2" | "grade-3" | "grade-4" | "grade-5" | "grade-6" | "grade-7" | "grade-8" | "grade-9" | "high-school" | "mathematics" | "middle-school" | "primary-school" | "school" | "science" | "standards" | "state";
|
|
163
|
+
readonly kind: "curriculum-context";
|
|
164
|
+
readonly level: "class" | "course" | "domain" | "lesson" | "phase" | "section" | "set" | "stage" | "subject" | "topic" | "track" | "unit";
|
|
165
|
+
readonly materialCardDescription?: string | undefined;
|
|
166
|
+
readonly materialCardTitle?: string | undefined;
|
|
167
|
+
readonly materialContextNodeKey?: (string & import("effect/Brand").Brand<"@NakafaAI/AksaraCurriculumNodeKey">) | undefined;
|
|
168
|
+
readonly materialContextParentPath?: (string & import("effect/Brand").Brand<"@NakafaAI/AksaraPublicPath">) | undefined;
|
|
169
|
+
readonly materialContextPublicPath?: (string & import("effect/Brand").Brand<"@NakafaAI/AksaraPublicPath">) | undefined;
|
|
170
|
+
readonly materialDomain?: (string & import("effect/Brand").Brand<"@NakafaAI/AksaraMaterialDomain">) | undefined;
|
|
171
|
+
readonly materialKey?: (string & import("effect/Brand").Brand<"@NakafaAI/AksaraMaterialKey">) | undefined;
|
|
172
|
+
readonly nodeKey: string;
|
|
173
|
+
readonly order: number;
|
|
174
|
+
readonly parentPath?: (string & import("effect/Brand").Brand<"@NakafaAI/AksaraPublicPath">) | undefined;
|
|
175
|
+
readonly programKey: string & import("effect/Brand").Brand<"@NakafaAI/AksaraLearningProgramKey">;
|
|
176
|
+
readonly publicPath: string & import("effect/Brand").Brand<"@NakafaAI/AksaraPublicPath">;
|
|
177
|
+
readonly sitemap: boolean;
|
|
178
|
+
readonly sourcePath: string & import("effect/Brand").Brand<"@NakafaAI/AksaraCorpusSourcePath">;
|
|
179
|
+
readonly title: string;
|
|
180
|
+
};
|
|
181
|
+
readonly rowHash: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
182
|
+
};
|
|
183
|
+
} | {
|
|
184
|
+
readonly family: "quran";
|
|
185
|
+
readonly record: {
|
|
186
|
+
readonly payload: {
|
|
187
|
+
readonly activeAppLocales: readonly [("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">, ...(("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">)[]];
|
|
188
|
+
readonly kind: "quran-attribution";
|
|
189
|
+
readonly sources: readonly [{
|
|
190
|
+
readonly copy: readonly [{
|
|
191
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
192
|
+
readonly notice: string;
|
|
193
|
+
readonly title: string;
|
|
194
|
+
}, ...{
|
|
195
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
196
|
+
readonly notice: string;
|
|
197
|
+
readonly title: string;
|
|
198
|
+
}[]];
|
|
199
|
+
readonly publisher: string;
|
|
200
|
+
readonly retrievedAt: string;
|
|
201
|
+
readonly sourceUrl: string;
|
|
202
|
+
readonly updateUrl: string;
|
|
203
|
+
readonly version: string;
|
|
204
|
+
readonly artifact: {
|
|
205
|
+
readonly byteCount: number;
|
|
206
|
+
readonly digest: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
207
|
+
readonly fileCount: number;
|
|
208
|
+
};
|
|
209
|
+
readonly id: "bubenheim-names" | "kemenag-names" | "quranenc-english" | "quranenc-german" | "quranenc-indonesian" | "quranenc-tafsir" | "tanzil-metadata" | "tanzil-text";
|
|
210
|
+
readonly kind: "embedded";
|
|
211
|
+
readonly terms: {
|
|
212
|
+
readonly artifact: {
|
|
213
|
+
readonly byteCount: number;
|
|
214
|
+
readonly digest: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
215
|
+
readonly fileCount: number;
|
|
216
|
+
};
|
|
217
|
+
readonly url: string;
|
|
218
|
+
};
|
|
219
|
+
} | {
|
|
220
|
+
readonly copy: readonly [{
|
|
221
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
222
|
+
readonly notice: string;
|
|
223
|
+
readonly title: string;
|
|
224
|
+
}, ...{
|
|
225
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
226
|
+
readonly notice: string;
|
|
227
|
+
readonly title: string;
|
|
228
|
+
}[]];
|
|
229
|
+
readonly publisher: string;
|
|
230
|
+
readonly retrievedAt: string;
|
|
231
|
+
readonly sourceUrl: string;
|
|
232
|
+
readonly updateUrl: string;
|
|
233
|
+
readonly version: string;
|
|
234
|
+
readonly id: "mokhtasar-english" | "mokhtasar-german";
|
|
235
|
+
readonly kind: "external";
|
|
236
|
+
readonly terms: {
|
|
237
|
+
readonly access: "link-only";
|
|
238
|
+
readonly url: string;
|
|
239
|
+
};
|
|
240
|
+
}, ...({
|
|
241
|
+
readonly copy: readonly [{
|
|
242
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
243
|
+
readonly notice: string;
|
|
244
|
+
readonly title: string;
|
|
245
|
+
}, ...{
|
|
246
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
247
|
+
readonly notice: string;
|
|
248
|
+
readonly title: string;
|
|
249
|
+
}[]];
|
|
250
|
+
readonly publisher: string;
|
|
251
|
+
readonly retrievedAt: string;
|
|
252
|
+
readonly sourceUrl: string;
|
|
253
|
+
readonly updateUrl: string;
|
|
254
|
+
readonly version: string;
|
|
255
|
+
readonly artifact: {
|
|
256
|
+
readonly byteCount: number;
|
|
257
|
+
readonly digest: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
258
|
+
readonly fileCount: number;
|
|
259
|
+
};
|
|
260
|
+
readonly id: "bubenheim-names" | "kemenag-names" | "quranenc-english" | "quranenc-german" | "quranenc-indonesian" | "quranenc-tafsir" | "tanzil-metadata" | "tanzil-text";
|
|
261
|
+
readonly kind: "embedded";
|
|
262
|
+
readonly terms: {
|
|
263
|
+
readonly artifact: {
|
|
264
|
+
readonly byteCount: number;
|
|
265
|
+
readonly digest: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
266
|
+
readonly fileCount: number;
|
|
267
|
+
};
|
|
268
|
+
readonly url: string;
|
|
269
|
+
};
|
|
270
|
+
} | {
|
|
271
|
+
readonly copy: readonly [{
|
|
272
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
273
|
+
readonly notice: string;
|
|
274
|
+
readonly title: string;
|
|
275
|
+
}, ...{
|
|
276
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
277
|
+
readonly notice: string;
|
|
278
|
+
readonly title: string;
|
|
279
|
+
}[]];
|
|
280
|
+
readonly publisher: string;
|
|
281
|
+
readonly retrievedAt: string;
|
|
282
|
+
readonly sourceUrl: string;
|
|
283
|
+
readonly updateUrl: string;
|
|
284
|
+
readonly version: string;
|
|
285
|
+
readonly id: "mokhtasar-english" | "mokhtasar-german";
|
|
286
|
+
readonly kind: "external";
|
|
287
|
+
readonly terms: {
|
|
288
|
+
readonly access: "link-only";
|
|
289
|
+
readonly url: string;
|
|
290
|
+
};
|
|
291
|
+
})[]];
|
|
292
|
+
readonly tafsirAccess: readonly [{
|
|
293
|
+
readonly appLocale: "en" & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
294
|
+
readonly kind: "external";
|
|
295
|
+
readonly notice: string;
|
|
296
|
+
readonly sourceId: "mokhtasar-english";
|
|
297
|
+
} | {
|
|
298
|
+
readonly appLocale: "id" & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
299
|
+
readonly kind: "embedded";
|
|
300
|
+
readonly notice: string;
|
|
301
|
+
readonly sourceId: "quranenc-tafsir";
|
|
302
|
+
} | {
|
|
303
|
+
readonly appLocale: "de" & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
304
|
+
readonly kind: "external";
|
|
305
|
+
readonly notice: string;
|
|
306
|
+
readonly sourceId: "mokhtasar-german";
|
|
307
|
+
}, ...({
|
|
308
|
+
readonly appLocale: "en" & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
309
|
+
readonly kind: "external";
|
|
310
|
+
readonly notice: string;
|
|
311
|
+
readonly sourceId: "mokhtasar-english";
|
|
312
|
+
} | {
|
|
313
|
+
readonly appLocale: "id" & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
314
|
+
readonly kind: "embedded";
|
|
315
|
+
readonly notice: string;
|
|
316
|
+
readonly sourceId: "quranenc-tafsir";
|
|
317
|
+
} | {
|
|
318
|
+
readonly appLocale: "de" & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
319
|
+
readonly kind: "external";
|
|
320
|
+
readonly notice: string;
|
|
321
|
+
readonly sourceId: "mokhtasar-german";
|
|
322
|
+
})[]];
|
|
323
|
+
} | {
|
|
324
|
+
readonly firstQuranNumber: number;
|
|
325
|
+
readonly firstVerse: number;
|
|
326
|
+
readonly kind: "quran-chunk";
|
|
327
|
+
readonly lastVerse: number;
|
|
328
|
+
readonly surahNumber: number;
|
|
329
|
+
readonly verses: readonly [{
|
|
330
|
+
readonly meta: {
|
|
331
|
+
readonly hizbQuarter: number;
|
|
332
|
+
readonly juz: number;
|
|
333
|
+
readonly manzil: number;
|
|
334
|
+
readonly page: number;
|
|
335
|
+
readonly ruku: number;
|
|
336
|
+
readonly sajda: "obligatory" | "recommended" | null;
|
|
337
|
+
};
|
|
338
|
+
readonly number: {
|
|
339
|
+
readonly inQuran: number;
|
|
340
|
+
readonly inSurah: number;
|
|
341
|
+
};
|
|
342
|
+
readonly tafsir: readonly {
|
|
343
|
+
readonly appLocale: "id";
|
|
344
|
+
readonly footnotes: string | null;
|
|
345
|
+
readonly text: string;
|
|
346
|
+
}[];
|
|
347
|
+
readonly text: {
|
|
348
|
+
readonly arabic: string;
|
|
349
|
+
};
|
|
350
|
+
readonly translations: readonly [{
|
|
351
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
352
|
+
readonly value: {
|
|
353
|
+
readonly footnotes: string;
|
|
354
|
+
readonly text: string;
|
|
355
|
+
};
|
|
356
|
+
}, ...{
|
|
357
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
358
|
+
readonly value: {
|
|
359
|
+
readonly footnotes: string;
|
|
360
|
+
readonly text: string;
|
|
361
|
+
};
|
|
362
|
+
}[]];
|
|
363
|
+
}, ...{
|
|
364
|
+
readonly meta: {
|
|
365
|
+
readonly hizbQuarter: number;
|
|
366
|
+
readonly juz: number;
|
|
367
|
+
readonly manzil: number;
|
|
368
|
+
readonly page: number;
|
|
369
|
+
readonly ruku: number;
|
|
370
|
+
readonly sajda: "obligatory" | "recommended" | null;
|
|
371
|
+
};
|
|
372
|
+
readonly number: {
|
|
373
|
+
readonly inQuran: number;
|
|
374
|
+
readonly inSurah: number;
|
|
375
|
+
};
|
|
376
|
+
readonly tafsir: readonly {
|
|
377
|
+
readonly appLocale: "id";
|
|
378
|
+
readonly footnotes: string | null;
|
|
379
|
+
readonly text: string;
|
|
380
|
+
}[];
|
|
381
|
+
readonly text: {
|
|
382
|
+
readonly arabic: string;
|
|
383
|
+
};
|
|
384
|
+
readonly translations: readonly [{
|
|
385
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
386
|
+
readonly value: {
|
|
387
|
+
readonly footnotes: string;
|
|
388
|
+
readonly text: string;
|
|
389
|
+
};
|
|
390
|
+
}, ...{
|
|
391
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
392
|
+
readonly value: {
|
|
393
|
+
readonly footnotes: string;
|
|
394
|
+
readonly text: string;
|
|
395
|
+
};
|
|
396
|
+
}[]];
|
|
397
|
+
}[]];
|
|
398
|
+
} | {
|
|
399
|
+
readonly name: {
|
|
400
|
+
readonly arabic: string;
|
|
401
|
+
readonly meaning: {
|
|
402
|
+
readonly de: string;
|
|
403
|
+
readonly en: string;
|
|
404
|
+
readonly id: string;
|
|
405
|
+
};
|
|
406
|
+
readonly transliteration: string;
|
|
407
|
+
};
|
|
408
|
+
readonly number: number;
|
|
409
|
+
readonly numberOfVerses: number;
|
|
410
|
+
readonly revelation: {
|
|
411
|
+
readonly order: number;
|
|
412
|
+
readonly place: "Meccan" | "Medinan";
|
|
413
|
+
};
|
|
414
|
+
readonly kind: "quran-surah";
|
|
415
|
+
} | {
|
|
416
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
417
|
+
readonly graph: {
|
|
418
|
+
readonly alignmentId: string;
|
|
419
|
+
readonly assetId: string;
|
|
420
|
+
readonly conceptId: string;
|
|
421
|
+
readonly learningObjectId: string;
|
|
422
|
+
readonly lensId: string;
|
|
423
|
+
};
|
|
424
|
+
readonly kind: "quran-search";
|
|
425
|
+
readonly route: string & import("effect/Brand").Brand<"@NakafaAI/AksaraPublicPath">;
|
|
426
|
+
readonly surahNumber: number;
|
|
427
|
+
readonly text: string;
|
|
428
|
+
readonly title: string;
|
|
429
|
+
};
|
|
430
|
+
readonly rowHash: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
431
|
+
readonly snapshotId: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
432
|
+
};
|
|
433
|
+
} | {
|
|
434
|
+
readonly family: "tryout";
|
|
435
|
+
readonly record: {
|
|
436
|
+
readonly row: {
|
|
437
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
438
|
+
readonly description?: string | undefined;
|
|
439
|
+
readonly graph: {
|
|
440
|
+
readonly alignmentId: string;
|
|
441
|
+
readonly assetId: string;
|
|
442
|
+
readonly conceptId: string;
|
|
443
|
+
readonly learningObjectId: string;
|
|
444
|
+
readonly lensId: string;
|
|
445
|
+
};
|
|
446
|
+
readonly sourceRevision: string;
|
|
447
|
+
readonly title: string;
|
|
448
|
+
readonly countryKey: string;
|
|
449
|
+
readonly examKey: string;
|
|
450
|
+
readonly kind: "track";
|
|
451
|
+
readonly order: number;
|
|
452
|
+
readonly publicPath: string & import("effect/Brand").Brand<"@NakafaAI/AksaraPublicPath">;
|
|
453
|
+
readonly questionCount: number;
|
|
454
|
+
readonly sectionCount: number;
|
|
455
|
+
readonly setCount: number;
|
|
456
|
+
readonly trackKey: string;
|
|
457
|
+
readonly trackKind: "subject" | "year";
|
|
458
|
+
readonly visibleSectionCount: number;
|
|
459
|
+
} | {
|
|
460
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
461
|
+
readonly description?: string | undefined;
|
|
462
|
+
readonly graph: {
|
|
463
|
+
readonly alignmentId: string;
|
|
464
|
+
readonly assetId: string;
|
|
465
|
+
readonly conceptId: string;
|
|
466
|
+
readonly learningObjectId: string;
|
|
467
|
+
readonly lensId: string;
|
|
468
|
+
};
|
|
469
|
+
readonly sourceRevision: string;
|
|
470
|
+
readonly title: string;
|
|
471
|
+
readonly countryKey: string;
|
|
472
|
+
readonly examKey: string;
|
|
473
|
+
readonly internalEntrySectionKey?: string | undefined;
|
|
474
|
+
readonly kind: "set";
|
|
475
|
+
readonly order: number;
|
|
476
|
+
readonly publicPath: string & import("effect/Brand").Brand<"@NakafaAI/AksaraPublicPath">;
|
|
477
|
+
readonly questionCount: number;
|
|
478
|
+
readonly scoringStrategy: "irt" | "raw";
|
|
479
|
+
readonly sectionCount: number;
|
|
480
|
+
readonly setKey: string;
|
|
481
|
+
readonly trackKey: string;
|
|
482
|
+
readonly visibleSectionCount: number;
|
|
483
|
+
} | {
|
|
484
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
485
|
+
readonly description?: string | undefined;
|
|
486
|
+
readonly graph: {
|
|
487
|
+
readonly alignmentId: string;
|
|
488
|
+
readonly assetId: string;
|
|
489
|
+
readonly conceptId: string;
|
|
490
|
+
readonly learningObjectId: string;
|
|
491
|
+
readonly lensId: string;
|
|
492
|
+
};
|
|
493
|
+
readonly sourceRevision: string;
|
|
494
|
+
readonly title: string;
|
|
495
|
+
readonly countryKey: string;
|
|
496
|
+
readonly examKey: string;
|
|
497
|
+
readonly kind: "section";
|
|
498
|
+
readonly order: number;
|
|
499
|
+
readonly publicPath?: (string & import("effect/Brand").Brand<"@NakafaAI/AksaraPublicPath">) | undefined;
|
|
500
|
+
readonly questionCount: number;
|
|
501
|
+
readonly questionSourcePath: string & import("effect/Brand").Brand<"@NakafaAI/AksaraCorpusSourcePath">;
|
|
502
|
+
readonly sectionKey: string;
|
|
503
|
+
readonly setKey: string;
|
|
504
|
+
readonly timeLimitSeconds: number;
|
|
505
|
+
readonly trackKey: string;
|
|
506
|
+
readonly visibility: "internal-entry" | "visible";
|
|
507
|
+
} | {
|
|
508
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
509
|
+
readonly description?: string | undefined;
|
|
510
|
+
readonly graph: {
|
|
511
|
+
readonly alignmentId: string;
|
|
512
|
+
readonly assetId: string;
|
|
513
|
+
readonly conceptId: string;
|
|
514
|
+
readonly learningObjectId: string;
|
|
515
|
+
readonly lensId: string;
|
|
516
|
+
};
|
|
517
|
+
readonly sourceRevision: string;
|
|
518
|
+
readonly title: string;
|
|
519
|
+
readonly countryCode: string;
|
|
520
|
+
readonly countryKey: string;
|
|
521
|
+
readonly kind: "country";
|
|
522
|
+
readonly order: number;
|
|
523
|
+
readonly publicPath: string & import("effect/Brand").Brand<"@NakafaAI/AksaraPublicPath">;
|
|
524
|
+
} | {
|
|
525
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
526
|
+
readonly description?: string | undefined;
|
|
527
|
+
readonly graph: {
|
|
528
|
+
readonly alignmentId: string;
|
|
529
|
+
readonly assetId: string;
|
|
530
|
+
readonly conceptId: string;
|
|
531
|
+
readonly learningObjectId: string;
|
|
532
|
+
readonly lensId: string;
|
|
533
|
+
};
|
|
534
|
+
readonly sourceRevision: string;
|
|
535
|
+
readonly title: string;
|
|
536
|
+
readonly countryKey: string;
|
|
537
|
+
readonly examKey: string;
|
|
538
|
+
readonly kind: "exam";
|
|
539
|
+
readonly order: number;
|
|
540
|
+
readonly publicPath: string & import("effect/Brand").Brand<"@NakafaAI/AksaraPublicPath">;
|
|
541
|
+
readonly scoringStrategy: "irt" | "raw";
|
|
542
|
+
};
|
|
543
|
+
readonly rowHash: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
544
|
+
};
|
|
545
|
+
readonly rowKind: "catalog";
|
|
546
|
+
} | {
|
|
547
|
+
readonly family: "tryout";
|
|
548
|
+
readonly record: {
|
|
549
|
+
readonly row: {
|
|
550
|
+
readonly answerArtifactLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraArtifactLocale">;
|
|
551
|
+
readonly answerContentKey: string & import("effect/Brand").Brand<"@NakafaAI/AksaraContentKey">;
|
|
552
|
+
readonly appLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraAppLocale">;
|
|
553
|
+
readonly blueprint?: {
|
|
554
|
+
readonly cognitiveLevel: string;
|
|
555
|
+
readonly contentDomain: string;
|
|
556
|
+
readonly topic: string;
|
|
557
|
+
};
|
|
558
|
+
readonly countryKey: string;
|
|
559
|
+
readonly deliveryLanguage: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraDeliveryLanguage">;
|
|
560
|
+
readonly examKey: string;
|
|
561
|
+
readonly languagePolicy: {
|
|
562
|
+
readonly kind: "app-locale";
|
|
563
|
+
} | {
|
|
564
|
+
readonly kind: "fixed";
|
|
565
|
+
readonly language: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraDeliveryLanguage">;
|
|
566
|
+
};
|
|
567
|
+
readonly questionArtifactLocale: ("de" | "en" | "id") & import("effect/Brand").Brand<"@NakafaAI/AksaraArtifactLocale">;
|
|
568
|
+
readonly questionContentKey: string & import("effect/Brand").Brand<"@NakafaAI/AksaraContentKey">;
|
|
569
|
+
readonly questionOrder: number;
|
|
570
|
+
readonly questionSourcePath: string & import("effect/Brand").Brand<"@NakafaAI/AksaraCorpusSourcePath">;
|
|
571
|
+
readonly rendererDomain: "ai-ds" | "biology" | "chemistry" | "mathematics" | "physics" | "politics" | "site" | "snbt-general" | "snbt-math" | "snbt-plain" | "snbt-quant" | "tka-math";
|
|
572
|
+
readonly response: {
|
|
573
|
+
readonly categories: readonly {
|
|
574
|
+
readonly categoryKey: string;
|
|
575
|
+
readonly label: readonly [{
|
|
576
|
+
readonly display: "block" | "inline";
|
|
577
|
+
readonly kind: "math";
|
|
578
|
+
readonly math: string;
|
|
579
|
+
} | {
|
|
580
|
+
readonly kind: "text";
|
|
581
|
+
readonly text: string;
|
|
582
|
+
}, ...({
|
|
583
|
+
readonly display: "block" | "inline";
|
|
584
|
+
readonly kind: "math";
|
|
585
|
+
readonly math: string;
|
|
586
|
+
} | {
|
|
587
|
+
readonly kind: "text";
|
|
588
|
+
readonly text: string;
|
|
589
|
+
})[]];
|
|
590
|
+
readonly order: number;
|
|
591
|
+
}[];
|
|
592
|
+
readonly kind: "category";
|
|
593
|
+
readonly statements: readonly {
|
|
594
|
+
readonly correctCategoryKey: string;
|
|
595
|
+
readonly label: readonly [{
|
|
596
|
+
readonly display: "block" | "inline";
|
|
597
|
+
readonly kind: "math";
|
|
598
|
+
readonly math: string;
|
|
599
|
+
} | {
|
|
600
|
+
readonly kind: "text";
|
|
601
|
+
readonly text: string;
|
|
602
|
+
}, ...({
|
|
603
|
+
readonly display: "block" | "inline";
|
|
604
|
+
readonly kind: "math";
|
|
605
|
+
readonly math: string;
|
|
606
|
+
} | {
|
|
607
|
+
readonly kind: "text";
|
|
608
|
+
readonly text: string;
|
|
609
|
+
})[]];
|
|
610
|
+
readonly order: number;
|
|
611
|
+
readonly statementKey: string;
|
|
612
|
+
}[];
|
|
613
|
+
} | {
|
|
614
|
+
readonly kind: "multiple-choice";
|
|
615
|
+
readonly options: readonly {
|
|
616
|
+
readonly isCorrect: boolean;
|
|
617
|
+
readonly label: readonly [{
|
|
618
|
+
readonly display: "block" | "inline";
|
|
619
|
+
readonly kind: "math";
|
|
620
|
+
readonly math: string;
|
|
621
|
+
} | {
|
|
622
|
+
readonly kind: "text";
|
|
623
|
+
readonly text: string;
|
|
624
|
+
}, ...({
|
|
625
|
+
readonly display: "block" | "inline";
|
|
626
|
+
readonly kind: "math";
|
|
627
|
+
readonly math: string;
|
|
628
|
+
} | {
|
|
629
|
+
readonly kind: "text";
|
|
630
|
+
readonly text: string;
|
|
631
|
+
})[]];
|
|
632
|
+
readonly optionKey: string;
|
|
633
|
+
readonly order: number;
|
|
634
|
+
}[];
|
|
635
|
+
} | {
|
|
636
|
+
readonly kind: "single-choice";
|
|
637
|
+
readonly options: readonly {
|
|
638
|
+
readonly isCorrect: boolean;
|
|
639
|
+
readonly label: readonly [{
|
|
640
|
+
readonly display: "block" | "inline";
|
|
641
|
+
readonly kind: "math";
|
|
642
|
+
readonly math: string;
|
|
643
|
+
} | {
|
|
644
|
+
readonly kind: "text";
|
|
645
|
+
readonly text: string;
|
|
646
|
+
}, ...({
|
|
647
|
+
readonly display: "block" | "inline";
|
|
648
|
+
readonly kind: "math";
|
|
649
|
+
readonly math: string;
|
|
650
|
+
} | {
|
|
651
|
+
readonly kind: "text";
|
|
652
|
+
readonly text: string;
|
|
653
|
+
})[]];
|
|
654
|
+
readonly optionKey: string;
|
|
655
|
+
readonly order: number;
|
|
656
|
+
}[];
|
|
657
|
+
};
|
|
658
|
+
readonly scope: "server";
|
|
659
|
+
readonly sectionKey: string;
|
|
660
|
+
readonly setKey: string;
|
|
661
|
+
readonly sourceRevision: string;
|
|
662
|
+
readonly stimulusKey?: string;
|
|
663
|
+
readonly trackKey: string;
|
|
664
|
+
readonly answerArtifactHash: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
665
|
+
readonly contentHash: string & import("effect/Brand").Brand<"@NakafaAI/AksaraTryoutContentHash">;
|
|
666
|
+
readonly questionArtifactHash: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
667
|
+
};
|
|
668
|
+
readonly rowHash: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
669
|
+
};
|
|
670
|
+
readonly rowKind: "placement";
|
|
671
|
+
}, E | SnapshotRowDecodeError, R>;
|
|
672
|
+
/** Confirms all replay passes agree with signed staged-row evidence. */
|
|
673
|
+
export declare function verifyStagedSnapshotRows(actualRows: number, verifiedRows: number, expectedRows: number): Effect.Effect<void, never, never> | Effect.Effect<never, SnapshotStagedCountError, never>;
|
|
674
|
+
/**
|
|
675
|
+
* Authenticates every replacement through replayable Stream values.
|
|
676
|
+
* Global rows may interleave families; each filtered family order stays signed.
|
|
677
|
+
*/
|
|
678
|
+
export declare const verifyContentSnapshots: <ManifestError, ManifestContext, RowError, RowContext>(input: {
|
|
679
|
+
readonly previousSnapshots: ContentSnapshotSet | null;
|
|
680
|
+
/** Replays canonical replacement manifests. */
|
|
681
|
+
readonly manifests: Stream.Stream<unknown, ManifestError, ManifestContext>;
|
|
682
|
+
/** Replays structured rows for every verification pass. */
|
|
683
|
+
readonly rows: Stream.Stream<unknown, RowError, RowContext>;
|
|
684
|
+
}) => Effect.Effect<{
|
|
685
|
+
snapshots: {
|
|
686
|
+
readonly program: {
|
|
687
|
+
readonly baseSnapshotId: (string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">) | null;
|
|
688
|
+
readonly mode: "inherit" | "replace" | "restore";
|
|
689
|
+
readonly resultSnapshotId: (string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">) | null;
|
|
690
|
+
readonly rowCount: number;
|
|
691
|
+
readonly rowDigest: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
692
|
+
};
|
|
693
|
+
readonly quran: {
|
|
694
|
+
readonly baseSnapshotId: (string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">) | null;
|
|
695
|
+
readonly mode: "inherit" | "replace" | "restore";
|
|
696
|
+
readonly resultSnapshotId: (string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">) | null;
|
|
697
|
+
readonly rowCount: number;
|
|
698
|
+
readonly rowDigest: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
699
|
+
};
|
|
700
|
+
readonly tryout: {
|
|
701
|
+
readonly baseSnapshotId: (string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">) | null;
|
|
702
|
+
readonly mode: "inherit" | "replace" | "restore";
|
|
703
|
+
readonly resultSnapshotId: (string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">) | null;
|
|
704
|
+
readonly rowCount: number;
|
|
705
|
+
readonly rowDigest: string & import("effect/Brand").Brand<"@NakafaAI/AksaraSha256Hash">;
|
|
706
|
+
};
|
|
707
|
+
};
|
|
708
|
+
stagedRows: number;
|
|
709
|
+
}, ManifestError | RowError | import("../../program/snapshot/digest.js").ProgramDigestError | import("../../program/snapshot/row-hash.js").ProgramRowHashError | import("../../program/snapshot/hash.js").ProgramSnapshotHashError | import("../../quran/snapshot/row/hash.js").QuranRowHashError | import("../../quran/snapshot/digest.js").QuranRowIntegrityError | import("../../quran/snapshot/digest.js").QuranRowOrderError | import("../../quran/snapshot/hash.js").QuranSnapshotHashError | import("./evidence-requirement.js").SnapshotEvidenceError | SnapshotManifestDecodeError | SnapshotManifestOrderError | SnapshotRowDecodeError | SnapshotRowFamilyError | SnapshotStagedCountError | SnapshotTransitionError | import("../../tryout/locale-closure.js").TryoutClosureError | import("../../tryout/row-hash.js").TryoutDigestError, ManifestContext | RowContext>;
|
|
710
|
+
export {};
|