@burdenoff/microfe-technospam 2026.1102.5 → 2026.1103.1
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/dist/generated/wspace-types.d.ts +102 -5
- package/dist/generated/wspace-types.d.ts.map +1 -1
- package/dist/stories/fixtures/technospamFixtures.d.ts.map +1 -1
- package/dist/technospam/api/canonicalLearning.d.ts +26 -1
- package/dist/technospam/api/canonicalLearning.d.ts.map +1 -1
- package/dist/technospam/api/canonicalLearning.js +31 -21
- package/dist/technospam/api/canonicalLearning.js.map +1 -1
- package/dist/technospam/api/technospamApi.d.ts +69 -13
- package/dist/technospam/api/technospamApi.d.ts.map +1 -1
- package/dist/technospam/api/technospamApi.js +462 -375
- package/dist/technospam/api/technospamApi.js.map +1 -1
- package/dist/technospam/components/admin/AssessmentsAdminTab.js +1 -1
- package/dist/technospam/components/admin/AssessmentsAdminTab.js.map +1 -1
- package/dist/technospam/components/admin/EnterpriseIntegrationsTab.js +1 -1
- package/dist/technospam/components/admin/EnterpriseIntegrationsTab.js.map +1 -1
- package/dist/technospam/pages/AdminAdminDashboardPagePage.js +2 -2
- package/dist/technospam/pages/AdminAdminDashboardPagePage.js.map +1 -1
- package/dist/technospam/pages/AnalyticsAnalyticsPagePage.js +1 -1
- package/dist/technospam/pages/AnalyticsAnalyticsPagePage.js.map +1 -1
- package/dist/technospam/pages/CoursesCourseDetailsPagePage.js +1 -1
- package/dist/technospam/pages/CoursesCourseDetailsPagePage.js.map +1 -1
- package/dist/technospam/pages/CoursesCoursesPagePage.js +1 -1
- package/dist/technospam/pages/CoursesCoursesPagePage.js.map +1 -1
- package/dist/technospam/pages/DashboardDashboardPagePage.js +1 -1
- package/dist/technospam/pages/DashboardDashboardPagePage.js.map +1 -1
- package/package.json +1 -1
|
@@ -100752,19 +100752,45 @@ export type Query = {
|
|
|
100752
100752
|
tecAssessmentQuestionKey: Array<TecQuizQuestionKey>;
|
|
100753
100753
|
/** Preview the cost of a session with a mentor before booking it -- does not create anything. Read access mirrors tecMentor (reading the mentor's rate). */
|
|
100754
100754
|
tecCalculateSessionCost: TecSessionCostEstimate;
|
|
100755
|
+
/** One TechnoSpam certificate, by its Technospam id, for the instructor/admin view (replaces tecCertificate). Same "list-all" gate as tecCanonicalCertificates. Null for an id outside the caller's workspace. */
|
|
100756
|
+
tecCanonicalCertificate?: Maybe<BuiCertificate>;
|
|
100757
|
+
/** Instructor/admin view of every TechnoSpam certificate in the workspace as canonical Buildmyiq certificates (replaces tecListCertificates). Newest issue first; `courseId` is a Technospam course id. A learner reading their own certificates uses buiMyCertificates(source: TECHNOSPAM). */
|
|
100758
|
+
tecCanonicalCertificates: TecCanonicalCertificateConnection;
|
|
100759
|
+
/** One TechnoSpam course, by its Technospam id, as its canonical Buildmyiq course (replaces tecCourse). Null for an id outside the caller's workspace. */
|
|
100760
|
+
tecCanonicalCourse?: Maybe<BuiCourse>;
|
|
100761
|
+
/** The workspace's TechnoSpam course catalog as canonical Buildmyiq courses (replaces tecListCourses). Newest first. `status` and `level` filter like tecListCourses. */
|
|
100762
|
+
tecCanonicalCourses: TecCanonicalCourseConnection;
|
|
100763
|
+
/** One TechnoSpam enrollment, by its Technospam id, for the instructor/admin view (replaces tecEnrollment). Same "list-all" gate as tecCanonicalEnrollments. Null for an id outside the caller's workspace. */
|
|
100764
|
+
tecCanonicalEnrollment?: Maybe<BuiEnrollment>;
|
|
100765
|
+
/** Instructor/admin roster: every learner's TechnoSpam enrollments in the workspace as canonical Buildmyiq enrollments (replaces tecListEnrollments). `courseId` is a Technospam course id; startDate/endDate filter by when the learner enrolled (inclusive). Gated behind "list-all", which the plain Viewer role does not hold. A learner reading their own enrollments uses buiMyEnrollments(source: TECHNOSPAM). */
|
|
100766
|
+
tecCanonicalEnrollments: TecCanonicalEnrollmentConnection;
|
|
100767
|
+
/** One TechnoSpam lesson, by its Technospam id, as its canonical Buildmyiq lesson (replaces tecLesson). Null for an id outside the caller's workspace. */
|
|
100768
|
+
tecCanonicalLesson?: Maybe<BuiLesson>;
|
|
100769
|
+
/** The lessons of one TechnoSpam course (Technospam course id), in position order, as canonical Buildmyiq lessons (replaces tecListLessons). Lesson bodies, editor metadata and quiz questions ride on the technospam* overlay fields, which apply the TechnoSpam plan gate. */
|
|
100770
|
+
tecCanonicalLessons: TecCanonicalLessonConnection;
|
|
100755
100771
|
/** BOFF-10480: compare up to `limit` (default 200, max 200) records of each kind in the calling workspace with their canonical Buildmyiq records. Read-only; the background parity check repairs drift on its own schedule. */
|
|
100756
100772
|
tecCanonicalLmsParity: TecCanonicalParityReport;
|
|
100757
|
-
/**
|
|
100773
|
+
/**
|
|
100774
|
+
* A single certificate by id, for the instructor/admin view (BOFF-3863). Same "list-all" gating as tecListCertificates. A learner reading their own certificate must use buiMyCertificate instead.
|
|
100775
|
+
* @deprecated Use tecCanonicalCertificate(id: <Technospam certificate id>), which returns the canonical BuiCertificate. Deprecated 2026-11-02 (BOFF-10566, OVL-24 phase 2d); removal no earlier than 2027-01-31.
|
|
100776
|
+
*/
|
|
100758
100777
|
tecCertificate?: Maybe<TecCertificate>;
|
|
100778
|
+
/** @deprecated Use tecCanonicalCourse(id: <Technospam course id>), which returns the canonical BuiCourse; the Technospam view is on BuiCourse.technospamCourse. Deprecated 2026-11-02 (BOFF-10566, OVL-24 phase 2d); removal no earlier than 2027-01-31. */
|
|
100759
100779
|
tecCourse?: Maybe<TecCourse>;
|
|
100760
|
-
/**
|
|
100780
|
+
/**
|
|
100781
|
+
* A single enrollment by id, for the instructor/admin view (BOFF-3863). Gated behind "list-all" like tecListEnrollments, because it can return any learner's enrollment. A learner reading their own enrollment must use buiMyEnrollment instead. Returns null for an id outside the workspace.
|
|
100782
|
+
* @deprecated Use tecCanonicalEnrollment(id: <Technospam enrollment id>), which returns the canonical BuiEnrollment. Deprecated 2026-11-02 (BOFF-10566, OVL-24 phase 2d); removal no earlier than 2027-01-31.
|
|
100783
|
+
*/
|
|
100761
100784
|
tecEnrollment?: Maybe<TecEnrollment>;
|
|
100762
100785
|
/** Export the workspace's learner activity as xAPI statements (BOFF-4430): enrollments (registered), lesson completions (completed), course completions (completed), certificates (passed) and certificate revocations (voided). `since` is inclusive, `until` exclusive; `limit` defaults to 200 and is capped at 1000. Same "list-all" gate as tecListEnrollments, because it covers every learner in the workspace. */
|
|
100763
100786
|
tecExportXapiStatements: TecXapiStatementPage;
|
|
100764
100787
|
tecHackathon?: Maybe<TecHackathon>;
|
|
100765
100788
|
/** Liveness/identity probe for the Technospam subgraph. */
|
|
100766
100789
|
tecHealth: Scalars['String']['output'];
|
|
100767
|
-
/**
|
|
100790
|
+
/**
|
|
100791
|
+
* A single lesson by id (BOFF-3863). Same read gate as tecListLessons; premium-gated lesson content is still locked by the TecLesson field resolvers. Returns null for an id outside the caller's workspace.
|
|
100792
|
+
* @deprecated Use tecCanonicalLesson(id: <Technospam lesson id>), which returns the canonical BuiLesson; the Technospam view is on BuiLesson.technospamLesson, technospamContent, technospamStarterCode and technospamQuizQuestions. Deprecated 2026-11-02 (BOFF-10566, OVL-24 phase 2d); removal no earlier than 2027-01-31.
|
|
100793
|
+
*/
|
|
100768
100794
|
tecLesson?: Maybe<TecLesson>;
|
|
100769
100795
|
/** Lesson-author view of a QUIZ lesson including the answer key (BOFF-4107). Gated on technospam-lesson update, the same permission that edits it, so a learner can never read the key. Empty for a lesson without a quiz. */
|
|
100770
100796
|
tecLessonQuizKey: Array<TecQuizQuestionKey>;
|
|
@@ -100772,12 +100798,20 @@ export type Query = {
|
|
|
100772
100798
|
tecListAssessmentAttempts: Array<TecAssessmentAttempt>;
|
|
100773
100799
|
/** Assessments in the workspace, optionally for one course or status. */
|
|
100774
100800
|
tecListAssessments: Array<TecAssessment>;
|
|
100775
|
-
/**
|
|
100801
|
+
/**
|
|
100802
|
+
* Cross-learner, instructor/admin view of certificates — same "list-all" gating as tecListEnrollments. A learner viewing their own certificates must use buiMyCertificates(source: TECHNOSPAM) instead.
|
|
100803
|
+
* @deprecated Use tecCanonicalCertificates (same filters and gate, cursor-paginated), which returns the canonical BuiCertificate records; the Technospam view is on BuiCertificate.technospamCertificate. Deprecated 2026-11-02 (BOFF-10566, OVL-24 phase 2d); removal no earlier than 2027-01-31.
|
|
100804
|
+
*/
|
|
100776
100805
|
tecListCertificates: Array<TecCertificate>;
|
|
100806
|
+
/** @deprecated Use tecCanonicalCourses, which returns the canonical BuiCourse records with the same technospam-course gate; the Technospam view is on BuiCourse.technospamCourse and technospamIsLocked. Deprecated 2026-11-02 (BOFF-10566, OVL-24 phase 2d); removal no earlier than 2027-01-31. */
|
|
100777
100807
|
tecListCourses: TecCourseConnection;
|
|
100778
|
-
/**
|
|
100808
|
+
/**
|
|
100809
|
+
* startDate/endDate filter enrollments by createdAt (inclusive), used to power the analytics page's date-range picker. This is the cross-learner, instructor/admin view — it returns every learner's enrollments in the workspace (optionally filtered to one learnerId). Gated behind the "list-all" action, which is NOT granted to the plain Viewer role by default. A learner viewing their own enrollments must use buiMyEnrollments(source: TECHNOSPAM) instead.
|
|
100810
|
+
* @deprecated Use tecCanonicalEnrollments (same arguments and gate), which returns the canonical BuiEnrollment records; the Technospam view is on BuiEnrollment.technospamEnrollment. Deprecated 2026-11-02 (BOFF-10566, OVL-24 phase 2d); removal no earlier than 2027-01-31.
|
|
100811
|
+
*/
|
|
100779
100812
|
tecListEnrollments: TecEnrollmentConnection;
|
|
100780
100813
|
tecListHackathons: TecHackathonConnection;
|
|
100814
|
+
/** @deprecated Use tecCanonicalLessons(courseId: <Technospam course id>), which returns the canonical BuiLesson records; the Technospam view is on BuiLesson.technospamLesson and the other technospam* overlay fields. Deprecated 2026-11-02 (BOFF-10566, OVL-24 phase 2d); removal no earlier than 2027-01-31. */
|
|
100781
100815
|
tecListLessons: TecLessonConnection;
|
|
100782
100816
|
tecListMentors: TecMentorConnection;
|
|
100783
100817
|
/** Cross-mentor admin/finance view of the payout ledger (e.g. for reconciling what every mentor is currently owed). Gated behind "list-all", which is NOT granted to the plain Viewer/Mentor role by default. */
|
|
@@ -113079,6 +113113,47 @@ export type QueryTecCalculateSessionCostArgs = {
|
|
|
113079
113113
|
mentorId: Scalars['ID']['input'];
|
|
113080
113114
|
};
|
|
113081
113115
|
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
113116
|
+
export type QueryTecCanonicalCertificateArgs = {
|
|
113117
|
+
id: Scalars['ID']['input'];
|
|
113118
|
+
};
|
|
113119
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
113120
|
+
export type QueryTecCanonicalCertificatesArgs = {
|
|
113121
|
+
courseId?: InputMaybe<Scalars['ID']['input']>;
|
|
113122
|
+
learnerId?: InputMaybe<Scalars['ID']['input']>;
|
|
113123
|
+
pagination?: InputMaybe<PaginationInput>;
|
|
113124
|
+
};
|
|
113125
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
113126
|
+
export type QueryTecCanonicalCourseArgs = {
|
|
113127
|
+
id: Scalars['ID']['input'];
|
|
113128
|
+
};
|
|
113129
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
113130
|
+
export type QueryTecCanonicalCoursesArgs = {
|
|
113131
|
+
level?: InputMaybe<TecCourseLevel>;
|
|
113132
|
+
pagination?: InputMaybe<PaginationInput>;
|
|
113133
|
+
status?: InputMaybe<TecCourseStatus>;
|
|
113134
|
+
};
|
|
113135
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
113136
|
+
export type QueryTecCanonicalEnrollmentArgs = {
|
|
113137
|
+
id: Scalars['ID']['input'];
|
|
113138
|
+
};
|
|
113139
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
113140
|
+
export type QueryTecCanonicalEnrollmentsArgs = {
|
|
113141
|
+
courseId?: InputMaybe<Scalars['ID']['input']>;
|
|
113142
|
+
endDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
113143
|
+
learnerId?: InputMaybe<Scalars['ID']['input']>;
|
|
113144
|
+
pagination?: InputMaybe<PaginationInput>;
|
|
113145
|
+
startDate?: InputMaybe<Scalars['DateTime']['input']>;
|
|
113146
|
+
};
|
|
113147
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
113148
|
+
export type QueryTecCanonicalLessonArgs = {
|
|
113149
|
+
id: Scalars['ID']['input'];
|
|
113150
|
+
};
|
|
113151
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
113152
|
+
export type QueryTecCanonicalLessonsArgs = {
|
|
113153
|
+
courseId: Scalars['ID']['input'];
|
|
113154
|
+
pagination?: InputMaybe<PaginationInput>;
|
|
113155
|
+
};
|
|
113156
|
+
/** Base Query type with placeholder field. Extended by individual query files. */
|
|
113082
113157
|
export type QueryTecCanonicalLmsParityArgs = {
|
|
113083
113158
|
limit?: InputMaybe<Scalars['Int']['input']>;
|
|
113084
113159
|
};
|
|
@@ -124974,6 +125049,26 @@ export type TecBookSessionInput = {
|
|
|
124974
125049
|
scheduledAt: Scalars['DateTime']['input'];
|
|
124975
125050
|
topic: Scalars['String']['input'];
|
|
124976
125051
|
};
|
|
125052
|
+
export type TecCanonicalCertificateConnection = {
|
|
125053
|
+
__typename?: 'TecCanonicalCertificateConnection';
|
|
125054
|
+
items: Array<BuiCertificate>;
|
|
125055
|
+
pageInfo: TecPageInfo;
|
|
125056
|
+
};
|
|
125057
|
+
export type TecCanonicalCourseConnection = {
|
|
125058
|
+
__typename?: 'TecCanonicalCourseConnection';
|
|
125059
|
+
items: Array<BuiCourse>;
|
|
125060
|
+
pageInfo: TecPageInfo;
|
|
125061
|
+
};
|
|
125062
|
+
export type TecCanonicalEnrollmentConnection = {
|
|
125063
|
+
__typename?: 'TecCanonicalEnrollmentConnection';
|
|
125064
|
+
items: Array<BuiEnrollment>;
|
|
125065
|
+
pageInfo: TecPageInfo;
|
|
125066
|
+
};
|
|
125067
|
+
export type TecCanonicalLessonConnection = {
|
|
125068
|
+
__typename?: 'TecCanonicalLessonConnection';
|
|
125069
|
+
items: Array<BuiLesson>;
|
|
125070
|
+
pageInfo: TecPageInfo;
|
|
125071
|
+
};
|
|
124977
125072
|
/** One Technospam LMS record whose canonical Buildmyiq record differs from it. */
|
|
124978
125073
|
export type TecCanonicalParityMismatch = {
|
|
124979
125074
|
__typename?: 'TecCanonicalParityMismatch';
|
|
@@ -125350,6 +125445,8 @@ export type TecLesson = {
|
|
|
125350
125445
|
kind: TecLessonKind;
|
|
125351
125446
|
/** INTERACTIVE lessons (BOFF-4107): language slug the runnable workspace executes, e.g. "python". Null for other kinds. */
|
|
125352
125447
|
language?: Maybe<Scalars['String']['output']>;
|
|
125448
|
+
/** BOFF-10574: the calling learner's recorded score (percent) for this lesson when they completed it by passing its quiz; null for any other lesson or completion. Lets a SCORM launch report the score to the LMS again when a completed quiz lesson is relaunched. */
|
|
125449
|
+
myQuizScore?: Maybe<Scalars['Int']['output']>;
|
|
125353
125450
|
position: Scalars['Int']['output'];
|
|
125354
125451
|
/** QUIZ lessons: the questions, without the answer key (grading happens server-side in tecSubmitLessonQuiz). Empty when `isLocked`. */
|
|
125355
125452
|
quizQuestions: Array<TecQuizQuestion>;
|