@plasius/learning 0.6.0 → 0.8.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/README.md +41 -0
- package/dist/chunk-UNPCTBNK.js +43 -0
- package/dist/chunk-UNPCTBNK.js.map +1 -0
- package/dist/course-suggestions-CBs5swU6.d.ts +17 -0
- package/dist/course-suggestions-mK2MPB7e.d.cts +17 -0
- package/dist/courses/adventure-mission-planner.cjs +436 -0
- package/dist/courses/adventure-mission-planner.cjs.map +1 -0
- package/dist/courses/adventure-mission-planner.d.cts +6 -0
- package/dist/courses/adventure-mission-planner.d.ts +6 -0
- package/dist/courses/adventure-mission-planner.js +210 -0
- package/dist/courses/adventure-mission-planner.js.map +1 -0
- package/dist/courses/creature-care-dashboard.cjs +425 -0
- package/dist/courses/creature-care-dashboard.cjs.map +1 -0
- package/dist/courses/creature-care-dashboard.d.cts +6 -0
- package/dist/courses/creature-care-dashboard.d.ts +6 -0
- package/dist/courses/creature-care-dashboard.js +199 -0
- package/dist/courses/creature-care-dashboard.js.map +1 -0
- package/dist/courses/robot-mission-control.cjs +428 -0
- package/dist/courses/robot-mission-control.cjs.map +1 -0
- package/dist/courses/robot-mission-control.d.cts +6 -0
- package/dist/courses/robot-mission-control.d.ts +6 -0
- package/dist/courses/robot-mission-control.js +202 -0
- package/dist/courses/robot-mission-control.js.map +1 -0
- package/dist/courses/vibe-bug-detective.cjs +416 -0
- package/dist/courses/vibe-bug-detective.cjs.map +1 -0
- package/dist/courses/vibe-bug-detective.d.cts +8 -0
- package/dist/courses/vibe-bug-detective.d.ts +8 -0
- package/dist/courses/vibe-bug-detective.js +221 -0
- package/dist/courses/vibe-bug-detective.js.map +1 -0
- package/dist/courses/vibe-game-remix-lab.cjs +424 -0
- package/dist/courses/vibe-game-remix-lab.cjs.map +1 -0
- package/dist/courses/vibe-game-remix-lab.d.cts +8 -0
- package/dist/courses/vibe-game-remix-lab.d.ts +8 -0
- package/dist/courses/vibe-game-remix-lab.js +229 -0
- package/dist/courses/vibe-game-remix-lab.js.map +1 -0
- package/dist/courses/vibe-idea-studio.cjs +386 -0
- package/dist/courses/vibe-idea-studio.cjs.map +1 -0
- package/dist/courses/vibe-idea-studio.d.cts +8 -0
- package/dist/courses/vibe-idea-studio.d.ts +8 -0
- package/dist/courses/vibe-idea-studio.js +191 -0
- package/dist/courses/vibe-idea-studio.js.map +1 -0
- package/dist/index.cjs +41 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -1
- package/package.json +32 -2
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { A as AssessmentRubricV1, a as AssessmentCheckResultV1, b as AssessmentResultV1, c as LearningModuleVersionV1, d as LearningPathVersionV1, L as LearningCourseV1, e as LearningValidationIssueV1, M as MissionAuthoringBundleV1, f as MissionAuthoringValidationIssueV1, E as ExternalLearningContentReferenceV1 } from './course-authoring-DImvrK5r.cjs';
|
|
2
2
|
export { g as AssessmentCriterionV1, h as AssessmentDimensionV1, i as AttemptEvidenceV1, B as BadgeDefinitionV1, j as CommercialStateV1, k as CourseMaterialAudienceV1, l as CourseMaterialKindV1, m as CourseMaterialV1, n as CourseMaterialsManifestV1, C as CoursePracticeQuestion, o as EXTERNAL_LEARNING_CONTENT_REFERENCE_VERSION_V1, F as FacilitatorMissionAuthoringV1, G as GuardianAiConsentV1, H as HardwareItemV1, p as HardwareModeV1, q as HardwareRequirementManifestV1, r as HardwareVerificationStatusV1, s as LEARNING_COURSE_LIMITS, t as LEARNING_COURSE_STAGE_ORDER, u as LearnerMissionAuthoringV1, v as LearningCourseDraftV1, w as LearningCourseInputError, x as LearningCourseMissionV1, y as LearningCourseStageV1, z as LearningCourseValidationIssueV1, D as LearningGoalV1, I as LearningProjectFileV1, J as LearningProjectLanguageV1, K as LearningProjectV1, N as LearningSaveSlotIdV1, O as MISSION_AUTHORING_CONTRACT_VERSION_V1, P as MissionAccessibilityAlternativeV1, Q as MissionArtifactKindV1, R as MissionArtifactReferenceV1, S as MissionAuthoringGoalV1, T as MissionBoundedSuggestionV1, U as MissionEvidenceKindV1, V as MissionEvidenceRequirementV1, W as MissionEvidenceRetentionV1, X as MissionFunctionParameterV1, Y as MissionFunctionReferenceV1, Z as MissionHardwareAcquisitionScopeV1, _ as MissionHardwareComponentDisclosureV1, $ as MissionHardwareDisclosureV1, a0 as MissionInteractionModeV1, a1 as MissionInteractionRequirementV1, a2 as MissionPhysicalSafeguardsV1, a3 as MissionReadinessCheckV1, a4 as MissionRewardBindingV1, a5 as MissionSideAdventureV1, a6 as MissionStageCardV1, a7 as MissionStageKindV1, a8 as MissionV1, a9 as ModuleAgentDefinitionV1, aa as ModuleAgentFeedbackV1, ab as ModuleAgentRoleV1, ac as ModuleCategoryV1, ad as ModuleEntitlementV1, ae as ModulePricingV1, af as ModuleReferencePriceV1, ag as PublishedStaticProjectSnapshotV1, ah as ScoreBandV1, ai as parseLearningCourse, aj as parseLearningCourseDraft, ak as parseLearningProject, al as parseLearningSaveSlotId, am as validateLearningCourse } from './course-authoring-DImvrK5r.cjs';
|
|
3
|
+
export { L as LearningCourseSuggestionV1, a as applyLearningCourseSuggestion, p as parseLearningCourseSuggestion } from './course-suggestions-mK2MPB7e.cjs';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Calculate a score solely from rubric criteria and objective check results.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { A as AssessmentRubricV1, a as AssessmentCheckResultV1, b as AssessmentResultV1, c as LearningModuleVersionV1, d as LearningPathVersionV1, L as LearningCourseV1, e as LearningValidationIssueV1, M as MissionAuthoringBundleV1, f as MissionAuthoringValidationIssueV1, E as ExternalLearningContentReferenceV1 } from './course-authoring-DImvrK5r.js';
|
|
2
2
|
export { g as AssessmentCriterionV1, h as AssessmentDimensionV1, i as AttemptEvidenceV1, B as BadgeDefinitionV1, j as CommercialStateV1, k as CourseMaterialAudienceV1, l as CourseMaterialKindV1, m as CourseMaterialV1, n as CourseMaterialsManifestV1, C as CoursePracticeQuestion, o as EXTERNAL_LEARNING_CONTENT_REFERENCE_VERSION_V1, F as FacilitatorMissionAuthoringV1, G as GuardianAiConsentV1, H as HardwareItemV1, p as HardwareModeV1, q as HardwareRequirementManifestV1, r as HardwareVerificationStatusV1, s as LEARNING_COURSE_LIMITS, t as LEARNING_COURSE_STAGE_ORDER, u as LearnerMissionAuthoringV1, v as LearningCourseDraftV1, w as LearningCourseInputError, x as LearningCourseMissionV1, y as LearningCourseStageV1, z as LearningCourseValidationIssueV1, D as LearningGoalV1, I as LearningProjectFileV1, J as LearningProjectLanguageV1, K as LearningProjectV1, N as LearningSaveSlotIdV1, O as MISSION_AUTHORING_CONTRACT_VERSION_V1, P as MissionAccessibilityAlternativeV1, Q as MissionArtifactKindV1, R as MissionArtifactReferenceV1, S as MissionAuthoringGoalV1, T as MissionBoundedSuggestionV1, U as MissionEvidenceKindV1, V as MissionEvidenceRequirementV1, W as MissionEvidenceRetentionV1, X as MissionFunctionParameterV1, Y as MissionFunctionReferenceV1, Z as MissionHardwareAcquisitionScopeV1, _ as MissionHardwareComponentDisclosureV1, $ as MissionHardwareDisclosureV1, a0 as MissionInteractionModeV1, a1 as MissionInteractionRequirementV1, a2 as MissionPhysicalSafeguardsV1, a3 as MissionReadinessCheckV1, a4 as MissionRewardBindingV1, a5 as MissionSideAdventureV1, a6 as MissionStageCardV1, a7 as MissionStageKindV1, a8 as MissionV1, a9 as ModuleAgentDefinitionV1, aa as ModuleAgentFeedbackV1, ab as ModuleAgentRoleV1, ac as ModuleCategoryV1, ad as ModuleEntitlementV1, ae as ModulePricingV1, af as ModuleReferencePriceV1, ag as PublishedStaticProjectSnapshotV1, ah as ScoreBandV1, ai as parseLearningCourse, aj as parseLearningCourseDraft, ak as parseLearningProject, al as parseLearningSaveSlotId, am as validateLearningCourse } from './course-authoring-DImvrK5r.js';
|
|
3
|
+
export { L as LearningCourseSuggestionV1, a as applyLearningCourseSuggestion, p as parseLearningCourseSuggestion } from './course-suggestions-CBs5swU6.js';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Calculate a score solely from rubric criteria and objective check results.
|
package/dist/index.js
CHANGED
|
@@ -976,6 +976,42 @@ function completeVerifiedLearningActivity(course, progress, proof) {
|
|
|
976
976
|
return next;
|
|
977
977
|
}
|
|
978
978
|
|
|
979
|
+
// src/course-suggestions.ts
|
|
980
|
+
var record2 = (value) => value !== null && typeof value === "object" && !Array.isArray(value);
|
|
981
|
+
var keys2 = (value, expected) => Object.keys(value).length === expected.length && expected.every((key) => Object.hasOwn(value, key));
|
|
982
|
+
var text = (value, maximum) => typeof value === "string" && value.trim().length > 0 && value.length <= maximum && !value.includes("\0");
|
|
983
|
+
function parseLearningCourseSuggestion(course, value) {
|
|
984
|
+
if (!record2(value) || !keys2(value, ["stageId", "proposal"]) || !text(value.stageId, 128) || !course.missions.some((mission2) => mission2.stages.some((stage) => stage.id === value.stageId)) || !record2(value.proposal)) {
|
|
985
|
+
throw new Error("Invalid course suggestion.");
|
|
986
|
+
}
|
|
987
|
+
const proposal = value.proposal;
|
|
988
|
+
if (!keys2(proposal, [
|
|
989
|
+
"id",
|
|
990
|
+
"source",
|
|
991
|
+
"intent",
|
|
992
|
+
"constraints",
|
|
993
|
+
"permittedArtifactId",
|
|
994
|
+
"originalSnippet",
|
|
995
|
+
"replacementSnippet",
|
|
996
|
+
"explanationPrompt",
|
|
997
|
+
"aiOptional",
|
|
998
|
+
"learnerApprovalRequired",
|
|
999
|
+
"alternatives"
|
|
1000
|
+
]) || !text(proposal.id, 128) || proposal.source !== "authored-fallback" || !text(proposal.intent, 1e3) || !Array.isArray(proposal.constraints) || proposal.constraints.length < 1 || proposal.constraints.length > 8 || !proposal.constraints.every((constraint) => text(constraint, 400)) || !course.projectFiles.some((file) => file.path === proposal.permittedArtifactId) || !text(proposal.originalSnippet, 8e3) || !text(proposal.replacementSnippet, 8e3) || proposal.originalSnippet === proposal.replacementSnippet || !text(proposal.explanationPrompt, 1e3) || proposal.aiOptional !== false || proposal.learnerApprovalRequired !== true || !Array.isArray(proposal.alternatives) || proposal.alternatives.length !== 2 || proposal.alternatives[0] !== "accept" || proposal.alternatives[1] !== "reject") throw new Error("Invalid course suggestion.");
|
|
1001
|
+
return structuredClone(value);
|
|
1002
|
+
}
|
|
1003
|
+
function applyLearningCourseSuggestion(course, project, suggestion) {
|
|
1004
|
+
const parsed = parseLearningProject(course, project);
|
|
1005
|
+
const { proposal } = parseLearningCourseSuggestion(course, suggestion);
|
|
1006
|
+
const file = parsed.files.find((candidate) => candidate.path === proposal.permittedArtifactId);
|
|
1007
|
+
const start = file.source.indexOf(proposal.originalSnippet);
|
|
1008
|
+
if (start < 0 || file.source.indexOf(proposal.originalSnippet, start + 1) >= 0) {
|
|
1009
|
+
throw new Error("Suggestion does not match exactly one source location.");
|
|
1010
|
+
}
|
|
1011
|
+
file.source = file.source.slice(0, start) + proposal.replacementSnippet + file.source.slice(start + proposal.originalSnippet.length);
|
|
1012
|
+
return parseLearningProject(course, parsed);
|
|
1013
|
+
}
|
|
1014
|
+
|
|
979
1015
|
// src/contextual-help.ts
|
|
980
1016
|
var CONTEXTUAL_HELP_CONTRACT_VERSION_V1 = "1.0.0";
|
|
981
1017
|
var CONTEXTUAL_HELP_KINDS_V1 = Object.freeze([
|
|
@@ -1489,6 +1525,7 @@ export {
|
|
|
1489
1525
|
VIBE_BUG_DETECTIVE_MISSION_ONE_AUTHORING_V1,
|
|
1490
1526
|
VIBE_GAME_REMIX_LAB_MISSION_ONE_AUTHORING_V1,
|
|
1491
1527
|
VIBE_IDEA_STUDIO_MISSION_ONE_AUTHORING_V1,
|
|
1528
|
+
applyLearningCourseSuggestion,
|
|
1492
1529
|
assertValidCanonicalSpokenHelpDescriptor,
|
|
1493
1530
|
assertValidContextualHelpIdentifier,
|
|
1494
1531
|
assertValidContextualVoiceQuestionMetadata,
|
|
@@ -1507,6 +1544,7 @@ export {
|
|
|
1507
1544
|
parseLearningCourse,
|
|
1508
1545
|
parseLearningCourseDraft,
|
|
1509
1546
|
parseLearningCourseProgress,
|
|
1547
|
+
parseLearningCourseSuggestion,
|
|
1510
1548
|
parseLearningProject,
|
|
1511
1549
|
parseLearningSaveSlotId,
|
|
1512
1550
|
recordLearningCourseAssessment,
|