@plasius/learning 0.2.18 → 0.2.20
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 +39 -1
- package/dist/index.cjs +438 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +108 -1
- package/dist/index.d.ts +108 -1
- package/dist/index.js +424 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -429,6 +429,111 @@ declare const JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_1: LearningPathVersionV1;
|
|
|
429
429
|
/** Current pilot catalog for server adapters that intentionally follow releases. */
|
|
430
430
|
declare const JUNIOR_CODER_ROBOT_RESCUE_PATH_CURRENT: LearningPathVersionV1;
|
|
431
431
|
|
|
432
|
+
/** Versioned, infrastructure-neutral contracts for Guardian-approved static projects. */
|
|
433
|
+
declare const STATIC_PROJECT_PUBLISHING_CONTRACT_VERSION_V1: "1.0.0";
|
|
434
|
+
declare const STATIC_PROJECT_SCANNER_VERSION_V1: "junior-coder-static-scan-v1";
|
|
435
|
+
declare const STATIC_PROJECT_APPROVAL_STATEMENT_VERSION_V1: "guardian-static-publication-v1";
|
|
436
|
+
declare const STATIC_PROJECT_DEFAULT_LIFETIME_DAYS_V1: 90;
|
|
437
|
+
declare const STATIC_PROJECT_MAX_SOURCE_CHARACTERS_V1: 8000;
|
|
438
|
+
declare const STATIC_PROJECT_SAFETY_CHECK_IDS_V1: readonly ["allow-listed-source", "no-personal-details", "no-external-network", "no-executable-markup", "no-transmitting-forms", "no-uploads-or-embeds", "no-trackers-or-advertising", "no-account-identifiers"];
|
|
439
|
+
type StaticProjectSafetyCheckIdV1 = (typeof STATIC_PROJECT_SAFETY_CHECK_IDS_V1)[number];
|
|
440
|
+
type StaticProjectModuleSlugV1 = "adventure-mission-planner" | "creature-care-dashboard" | "robot-mission-control";
|
|
441
|
+
interface StaticProjectSafetyCheckV1 {
|
|
442
|
+
id: StaticProjectSafetyCheckIdV1;
|
|
443
|
+
passed: true;
|
|
444
|
+
}
|
|
445
|
+
/** Evidence emitted by the deterministic scanner before adult review. */
|
|
446
|
+
interface StaticProjectSafetyScanV1 {
|
|
447
|
+
schemaVersion: "1";
|
|
448
|
+
scannerVersion: typeof STATIC_PROJECT_SCANNER_VERSION_V1;
|
|
449
|
+
passed: true;
|
|
450
|
+
checks: StaticProjectSafetyCheckV1[];
|
|
451
|
+
}
|
|
452
|
+
interface AdventureMissionPlannerSafeRenderV1 {
|
|
453
|
+
kind: "adventure-mission-planner";
|
|
454
|
+
heading: "Moonbase Missions" | "Forest Rescue Plans" | "Ocean Quest Board";
|
|
455
|
+
missions: {
|
|
456
|
+
title: "Find the moon crystal" | "Guide the lost firefly" | "Map the coral garden";
|
|
457
|
+
day: "Saturday" | "Sunday" | "School holiday";
|
|
458
|
+
}[];
|
|
459
|
+
validationMessage: "Choose a day" | "Add a mission title" | "Mission ready!";
|
|
460
|
+
savedAcrossRestart: true;
|
|
461
|
+
accessibleSummaryEnabled: true;
|
|
462
|
+
}
|
|
463
|
+
interface CreatureCareDashboardSafeRenderV1 {
|
|
464
|
+
kind: "creature-care-dashboard";
|
|
465
|
+
creature: "Moon Moth" | "Cloud Cat" | "Pebble Dragon";
|
|
466
|
+
status: "Resting" | "Ready to play" | "Snack time";
|
|
467
|
+
timerSeconds: 5 | 10 | 15;
|
|
468
|
+
layout: "single" | "cosy-grid" | "wide-grid";
|
|
469
|
+
reducedMotion: true;
|
|
470
|
+
}
|
|
471
|
+
interface RobotMissionControlSafeRenderV1 {
|
|
472
|
+
kind: "robot-mission-control";
|
|
473
|
+
command: "scan" | "hold-position" | "return-to-base";
|
|
474
|
+
safetyConfirmed: true;
|
|
475
|
+
telemetryRate: 1 | 2 | 4;
|
|
476
|
+
chartMode: "line" | "bars" | "text-only";
|
|
477
|
+
serialSimulation: true;
|
|
478
|
+
state: "SCANNING" | "HOLDING" | "RETURNING";
|
|
479
|
+
}
|
|
480
|
+
/** The complete public render allow-list. Learner source is never a render model. */
|
|
481
|
+
type StaticProjectSafeRenderV1 = AdventureMissionPlannerSafeRenderV1 | CreatureCareDashboardSafeRenderV1 | RobotMissionControlSafeRenderV1;
|
|
482
|
+
/** Immutable private snapshot awaiting an adult's exact-hash approval. */
|
|
483
|
+
interface StaticProjectSnapshotV1 {
|
|
484
|
+
schemaVersion: "1";
|
|
485
|
+
contractVersion: typeof STATIC_PROJECT_PUBLISHING_CONTRACT_VERSION_V1;
|
|
486
|
+
snapshotId: string;
|
|
487
|
+
subjectAccountId: string;
|
|
488
|
+
moduleId: string;
|
|
489
|
+
moduleSlug: StaticProjectModuleSlugV1;
|
|
490
|
+
moduleVersion: string;
|
|
491
|
+
missionId: string;
|
|
492
|
+
sourceDigest: string;
|
|
493
|
+
snapshotDigest: string;
|
|
494
|
+
sourceCharacterCount: number;
|
|
495
|
+
assessmentScore: number;
|
|
496
|
+
mandatorySafetyPassed: true;
|
|
497
|
+
scan: StaticProjectSafetyScanV1;
|
|
498
|
+
renderModel: StaticProjectSafeRenderV1;
|
|
499
|
+
state: "pending-review";
|
|
500
|
+
createdAt: string;
|
|
501
|
+
}
|
|
502
|
+
/** Adult approval is evidence only and cannot mutate the reviewed snapshot. */
|
|
503
|
+
interface StaticProjectGuardianApprovalV1 {
|
|
504
|
+
schemaVersion: "1";
|
|
505
|
+
approvalId: string;
|
|
506
|
+
snapshotId: string;
|
|
507
|
+
snapshotDigest: string;
|
|
508
|
+
guardianActorAccountId: string;
|
|
509
|
+
statementVersion: typeof STATIC_PROJECT_APPROVAL_STATEMENT_VERSION_V1;
|
|
510
|
+
approvedAt: string;
|
|
511
|
+
}
|
|
512
|
+
/** An unlisted public pointer whose lifecycle never changes the source snapshot. */
|
|
513
|
+
interface StaticProjectPublicationV1 {
|
|
514
|
+
schemaVersion: "1";
|
|
515
|
+
publicationId: string;
|
|
516
|
+
snapshotId: string;
|
|
517
|
+
snapshotDigest: string;
|
|
518
|
+
approvalId: string;
|
|
519
|
+
randomSlug: string;
|
|
520
|
+
publicUrl: string;
|
|
521
|
+
state: "published" | "expired" | "unpublished";
|
|
522
|
+
publishedAt: string;
|
|
523
|
+
expiresAt: string;
|
|
524
|
+
renewedAt?: string;
|
|
525
|
+
unpublishedAt?: string;
|
|
526
|
+
}
|
|
527
|
+
type StaticProjectContractIssueV1 = "invalid-schema-version" | "invalid-contract-version" | "invalid-identifier" | "invalid-module" | "invalid-version" | "invalid-source-digest" | "invalid-snapshot-digest" | "invalid-source-size" | "assessment-score-incomplete" | "mandatory-safety-missing" | "scan-not-passed" | "scan-checks-incomplete" | "module-render-model-mismatch" | "unsafe-render-model" | "invalid-created-at" | "invalid-approval-statement" | "invalid-approved-at" | "invalid-random-slug" | "invalid-public-url" | "public-url-slug-mismatch" | "published-state-required" | "invalid-published-at" | "invalid-publication-expiry" | "invalid-lifecycle-timestamp";
|
|
528
|
+
/** Validate a snapshot without throwing so authoring and adapters can show every issue. */
|
|
529
|
+
declare function validateStaticProjectSnapshot(value: StaticProjectSnapshotV1): StaticProjectContractIssueV1[];
|
|
530
|
+
/** Fail closed when a persistence or publishing adapter constructs an invalid snapshot. */
|
|
531
|
+
declare function assertValidStaticProjectSnapshot(value: StaticProjectSnapshotV1): void;
|
|
532
|
+
declare function validateStaticProjectGuardianApproval(value: StaticProjectGuardianApprovalV1): StaticProjectContractIssueV1[];
|
|
533
|
+
declare function assertValidStaticProjectGuardianApproval(value: StaticProjectGuardianApprovalV1): void;
|
|
534
|
+
declare function validateStaticProjectPublication(value: StaticProjectPublicationV1): StaticProjectContractIssueV1[];
|
|
535
|
+
declare function assertValidStaticProjectPublication(value: StaticProjectPublicationV1): void;
|
|
536
|
+
|
|
432
537
|
/** Validate the deterministic 20/50/20/10 assessment authority. */
|
|
433
538
|
declare function validateAssessmentRubric(rubric: AssessmentRubricV1, path?: string, moduleId?: string): LearningValidationIssueV1[];
|
|
434
539
|
|
|
@@ -514,6 +619,8 @@ declare const VIBE_BUG_DETECTIVE_MISSION_ONE_AUTHORING_V1: MissionAuthoringBundl
|
|
|
514
619
|
declare const VIBE_IDEA_STUDIO_MISSION_ONE_AUTHORING_V1: MissionAuthoringBundleV1;
|
|
515
620
|
/** Accessible fictional care dashboard with bounded component and timer state. */
|
|
516
621
|
declare const CREATURE_CARE_DASHBOARD_MISSION_ONE_AUTHORING_V1: MissionAuthoringBundleV1;
|
|
622
|
+
/** Safe responsive mission-control dashboard backed only by a serial simulator. */
|
|
623
|
+
declare const ROBOT_MISSION_CONTROL_MISSION_ONE_AUTHORING_V1: MissionAuthoringBundleV1;
|
|
517
624
|
/** Accessible fictional planner mission with a private bounded persistence simulator. */
|
|
518
625
|
declare const ADVENTURE_MISSION_PLANNER_MISSION_ONE_AUTHORING_V1: MissionAuthoringBundleV1;
|
|
519
626
|
declare const ROAD_HOPPER_RALLY_MISSION_ONE_AUTHORING_V1: MissionAuthoringBundleV1;
|
|
@@ -523,4 +630,4 @@ declare function validateLearningPath(path: LearningPathVersionV1): LearningVali
|
|
|
523
630
|
/** Fail fast when a path is not safe to publish or consume. */
|
|
524
631
|
declare function assertValidLearningPath(path: LearningPathVersionV1): void;
|
|
525
632
|
|
|
526
|
-
export { ADVENTURE_MISSION_PLANNER_MISSION_ONE_AUTHORING_V1, type AssessmentCheckResultV1, type AssessmentCriterionV1, type AssessmentDimensionV1, type AssessmentResultV1, type AssessmentRubricV1, type AttemptEvidenceV1, BEACON_BOT_MISSION_ONE_AUTHORING_V1, type BadgeDefinitionV1, CREATURE_CARE_DASHBOARD_MISSION_ONE_AUTHORING_V1, type CommercialStateV1, type CourseMaterialAudienceV1, type CourseMaterialKindV1, type CourseMaterialV1, type CourseMaterialsManifestV1, DANCE_ROVER_MISSION_ONE_AUTHORING_V1, type FacilitatorMissionAuthoringV1, type GuardianAiConsentV1, type HardwareItemV1, type HardwareModeV1, type HardwareRequirementManifestV1, type HardwareVerificationStatusV1, JUNIOR_CODER_MISSION_STAGE_ORDER_V1, JUNIOR_CODER_MODULE_PRICE_V1_1, JUNIOR_CODER_ROBOT_RESCUE_PATH_CURRENT, JUNIOR_CODER_ROBOT_RESCUE_PATH_V1, JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_1, type LearnerMissionAuthoringV1, type LearningGoalV1, type LearningModuleVersionV1, type LearningPathVersionV1, type LearningValidationIssueV1, METEOR_SHIELD_MISSION_ONE_AUTHORING_V1, MISSION_AUTHORING_CONTRACT_VERSION_V1, type MissionAccessibilityAlternativeV1, type MissionArtifactKindV1, type MissionArtifactReferenceV1, type MissionAuthoringBundleV1, type MissionAuthoringGoalV1, type MissionAuthoringValidationIssueV1, type MissionBoundedSuggestionV1, type MissionEvidenceKindV1, type MissionEvidenceRequirementV1, type MissionEvidenceRetentionV1, type MissionFunctionParameterV1, type MissionFunctionReferenceV1, type MissionHardwareAcquisitionScopeV1, type MissionHardwareComponentDisclosureV1, type MissionHardwareDisclosureV1, type MissionInteractionModeV1, type MissionInteractionRequirementV1, type MissionPhysicalSafeguardsV1, type MissionReadinessCheckV1, type MissionRewardBindingV1, type MissionSideAdventureV1, type MissionStageCardV1, type MissionStageKindV1, type MissionV1, type ModuleAgentDefinitionV1, type ModuleAgentFeedbackV1, type ModuleAgentRoleV1, type ModuleCategoryV1, type ModuleEntitlementV1, type ModulePricingV1, type ModuleReferencePriceV1, OBSTACLE_EXPLORER_MISSION_ONE_AUTHORING_V1, PADDLE_PULSE_MISSION_ONE_AUTHORING_V1, PIXEL_TRAIL_CHALLENGE_MISSION_ONE_AUTHORING_V1, type PublishedStaticProjectSnapshotV1, RAINBOW_RESCUE_ROVER_MISSION_ONE_AUTHORING_V1, RESCUE_CREW_COMMANDER_MISSION_ONE_AUTHORING_V1, ROAD_HOPPER_RALLY_MISSION_ONE_AUTHORING_V1, ROBOT_MAZE_DASH_MISSION_ONE_AUTHORING_V1, SERVO_CREATURE_MISSION_ONE_AUTHORING_V1, SKYWING_SPRINT_MISSION_ONE_AUTHORING_V1, STAR_DEFENDER_SQUADRON_MISSION_ONE_AUTHORING_V1, type ScoreBandV1, VIBE_BUG_DETECTIVE_MISSION_ONE_AUTHORING_V1, VIBE_GAME_REMIX_LAB_MISSION_ONE_AUTHORING_V1, VIBE_IDEA_STUDIO_MISSION_ONE_AUTHORING_V1, assertValidLearningPath, assertValidMissionAuthoringBundle, calculateAssessment, validateAssessmentRubric, validateLearningPath, validateMissionAuthoringBundle };
|
|
633
|
+
export { ADVENTURE_MISSION_PLANNER_MISSION_ONE_AUTHORING_V1, type AdventureMissionPlannerSafeRenderV1, type AssessmentCheckResultV1, type AssessmentCriterionV1, type AssessmentDimensionV1, type AssessmentResultV1, type AssessmentRubricV1, type AttemptEvidenceV1, BEACON_BOT_MISSION_ONE_AUTHORING_V1, type BadgeDefinitionV1, CREATURE_CARE_DASHBOARD_MISSION_ONE_AUTHORING_V1, type CommercialStateV1, type CourseMaterialAudienceV1, type CourseMaterialKindV1, type CourseMaterialV1, type CourseMaterialsManifestV1, type CreatureCareDashboardSafeRenderV1, DANCE_ROVER_MISSION_ONE_AUTHORING_V1, type FacilitatorMissionAuthoringV1, type GuardianAiConsentV1, type HardwareItemV1, type HardwareModeV1, type HardwareRequirementManifestV1, type HardwareVerificationStatusV1, JUNIOR_CODER_MISSION_STAGE_ORDER_V1, JUNIOR_CODER_MODULE_PRICE_V1_1, JUNIOR_CODER_ROBOT_RESCUE_PATH_CURRENT, JUNIOR_CODER_ROBOT_RESCUE_PATH_V1, JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_1, type LearnerMissionAuthoringV1, type LearningGoalV1, type LearningModuleVersionV1, type LearningPathVersionV1, type LearningValidationIssueV1, METEOR_SHIELD_MISSION_ONE_AUTHORING_V1, MISSION_AUTHORING_CONTRACT_VERSION_V1, type MissionAccessibilityAlternativeV1, type MissionArtifactKindV1, type MissionArtifactReferenceV1, type MissionAuthoringBundleV1, type MissionAuthoringGoalV1, type MissionAuthoringValidationIssueV1, type MissionBoundedSuggestionV1, type MissionEvidenceKindV1, type MissionEvidenceRequirementV1, type MissionEvidenceRetentionV1, type MissionFunctionParameterV1, type MissionFunctionReferenceV1, type MissionHardwareAcquisitionScopeV1, type MissionHardwareComponentDisclosureV1, type MissionHardwareDisclosureV1, type MissionInteractionModeV1, type MissionInteractionRequirementV1, type MissionPhysicalSafeguardsV1, type MissionReadinessCheckV1, type MissionRewardBindingV1, type MissionSideAdventureV1, type MissionStageCardV1, type MissionStageKindV1, type MissionV1, type ModuleAgentDefinitionV1, type ModuleAgentFeedbackV1, type ModuleAgentRoleV1, type ModuleCategoryV1, type ModuleEntitlementV1, type ModulePricingV1, type ModuleReferencePriceV1, OBSTACLE_EXPLORER_MISSION_ONE_AUTHORING_V1, PADDLE_PULSE_MISSION_ONE_AUTHORING_V1, PIXEL_TRAIL_CHALLENGE_MISSION_ONE_AUTHORING_V1, type PublishedStaticProjectSnapshotV1, RAINBOW_RESCUE_ROVER_MISSION_ONE_AUTHORING_V1, RESCUE_CREW_COMMANDER_MISSION_ONE_AUTHORING_V1, ROAD_HOPPER_RALLY_MISSION_ONE_AUTHORING_V1, ROBOT_MAZE_DASH_MISSION_ONE_AUTHORING_V1, ROBOT_MISSION_CONTROL_MISSION_ONE_AUTHORING_V1, type RobotMissionControlSafeRenderV1, SERVO_CREATURE_MISSION_ONE_AUTHORING_V1, SKYWING_SPRINT_MISSION_ONE_AUTHORING_V1, STAR_DEFENDER_SQUADRON_MISSION_ONE_AUTHORING_V1, STATIC_PROJECT_APPROVAL_STATEMENT_VERSION_V1, STATIC_PROJECT_DEFAULT_LIFETIME_DAYS_V1, STATIC_PROJECT_MAX_SOURCE_CHARACTERS_V1, STATIC_PROJECT_PUBLISHING_CONTRACT_VERSION_V1, STATIC_PROJECT_SAFETY_CHECK_IDS_V1, STATIC_PROJECT_SCANNER_VERSION_V1, type ScoreBandV1, type StaticProjectContractIssueV1, type StaticProjectGuardianApprovalV1, type StaticProjectModuleSlugV1, type StaticProjectPublicationV1, type StaticProjectSafeRenderV1, type StaticProjectSafetyCheckIdV1, type StaticProjectSafetyCheckV1, type StaticProjectSafetyScanV1, type StaticProjectSnapshotV1, VIBE_BUG_DETECTIVE_MISSION_ONE_AUTHORING_V1, VIBE_GAME_REMIX_LAB_MISSION_ONE_AUTHORING_V1, VIBE_IDEA_STUDIO_MISSION_ONE_AUTHORING_V1, assertValidLearningPath, assertValidMissionAuthoringBundle, assertValidStaticProjectGuardianApproval, assertValidStaticProjectPublication, assertValidStaticProjectSnapshot, calculateAssessment, validateAssessmentRubric, validateLearningPath, validateMissionAuthoringBundle, validateStaticProjectGuardianApproval, validateStaticProjectPublication, validateStaticProjectSnapshot };
|
package/dist/index.d.ts
CHANGED
|
@@ -429,6 +429,111 @@ declare const JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_1: LearningPathVersionV1;
|
|
|
429
429
|
/** Current pilot catalog for server adapters that intentionally follow releases. */
|
|
430
430
|
declare const JUNIOR_CODER_ROBOT_RESCUE_PATH_CURRENT: LearningPathVersionV1;
|
|
431
431
|
|
|
432
|
+
/** Versioned, infrastructure-neutral contracts for Guardian-approved static projects. */
|
|
433
|
+
declare const STATIC_PROJECT_PUBLISHING_CONTRACT_VERSION_V1: "1.0.0";
|
|
434
|
+
declare const STATIC_PROJECT_SCANNER_VERSION_V1: "junior-coder-static-scan-v1";
|
|
435
|
+
declare const STATIC_PROJECT_APPROVAL_STATEMENT_VERSION_V1: "guardian-static-publication-v1";
|
|
436
|
+
declare const STATIC_PROJECT_DEFAULT_LIFETIME_DAYS_V1: 90;
|
|
437
|
+
declare const STATIC_PROJECT_MAX_SOURCE_CHARACTERS_V1: 8000;
|
|
438
|
+
declare const STATIC_PROJECT_SAFETY_CHECK_IDS_V1: readonly ["allow-listed-source", "no-personal-details", "no-external-network", "no-executable-markup", "no-transmitting-forms", "no-uploads-or-embeds", "no-trackers-or-advertising", "no-account-identifiers"];
|
|
439
|
+
type StaticProjectSafetyCheckIdV1 = (typeof STATIC_PROJECT_SAFETY_CHECK_IDS_V1)[number];
|
|
440
|
+
type StaticProjectModuleSlugV1 = "adventure-mission-planner" | "creature-care-dashboard" | "robot-mission-control";
|
|
441
|
+
interface StaticProjectSafetyCheckV1 {
|
|
442
|
+
id: StaticProjectSafetyCheckIdV1;
|
|
443
|
+
passed: true;
|
|
444
|
+
}
|
|
445
|
+
/** Evidence emitted by the deterministic scanner before adult review. */
|
|
446
|
+
interface StaticProjectSafetyScanV1 {
|
|
447
|
+
schemaVersion: "1";
|
|
448
|
+
scannerVersion: typeof STATIC_PROJECT_SCANNER_VERSION_V1;
|
|
449
|
+
passed: true;
|
|
450
|
+
checks: StaticProjectSafetyCheckV1[];
|
|
451
|
+
}
|
|
452
|
+
interface AdventureMissionPlannerSafeRenderV1 {
|
|
453
|
+
kind: "adventure-mission-planner";
|
|
454
|
+
heading: "Moonbase Missions" | "Forest Rescue Plans" | "Ocean Quest Board";
|
|
455
|
+
missions: {
|
|
456
|
+
title: "Find the moon crystal" | "Guide the lost firefly" | "Map the coral garden";
|
|
457
|
+
day: "Saturday" | "Sunday" | "School holiday";
|
|
458
|
+
}[];
|
|
459
|
+
validationMessage: "Choose a day" | "Add a mission title" | "Mission ready!";
|
|
460
|
+
savedAcrossRestart: true;
|
|
461
|
+
accessibleSummaryEnabled: true;
|
|
462
|
+
}
|
|
463
|
+
interface CreatureCareDashboardSafeRenderV1 {
|
|
464
|
+
kind: "creature-care-dashboard";
|
|
465
|
+
creature: "Moon Moth" | "Cloud Cat" | "Pebble Dragon";
|
|
466
|
+
status: "Resting" | "Ready to play" | "Snack time";
|
|
467
|
+
timerSeconds: 5 | 10 | 15;
|
|
468
|
+
layout: "single" | "cosy-grid" | "wide-grid";
|
|
469
|
+
reducedMotion: true;
|
|
470
|
+
}
|
|
471
|
+
interface RobotMissionControlSafeRenderV1 {
|
|
472
|
+
kind: "robot-mission-control";
|
|
473
|
+
command: "scan" | "hold-position" | "return-to-base";
|
|
474
|
+
safetyConfirmed: true;
|
|
475
|
+
telemetryRate: 1 | 2 | 4;
|
|
476
|
+
chartMode: "line" | "bars" | "text-only";
|
|
477
|
+
serialSimulation: true;
|
|
478
|
+
state: "SCANNING" | "HOLDING" | "RETURNING";
|
|
479
|
+
}
|
|
480
|
+
/** The complete public render allow-list. Learner source is never a render model. */
|
|
481
|
+
type StaticProjectSafeRenderV1 = AdventureMissionPlannerSafeRenderV1 | CreatureCareDashboardSafeRenderV1 | RobotMissionControlSafeRenderV1;
|
|
482
|
+
/** Immutable private snapshot awaiting an adult's exact-hash approval. */
|
|
483
|
+
interface StaticProjectSnapshotV1 {
|
|
484
|
+
schemaVersion: "1";
|
|
485
|
+
contractVersion: typeof STATIC_PROJECT_PUBLISHING_CONTRACT_VERSION_V1;
|
|
486
|
+
snapshotId: string;
|
|
487
|
+
subjectAccountId: string;
|
|
488
|
+
moduleId: string;
|
|
489
|
+
moduleSlug: StaticProjectModuleSlugV1;
|
|
490
|
+
moduleVersion: string;
|
|
491
|
+
missionId: string;
|
|
492
|
+
sourceDigest: string;
|
|
493
|
+
snapshotDigest: string;
|
|
494
|
+
sourceCharacterCount: number;
|
|
495
|
+
assessmentScore: number;
|
|
496
|
+
mandatorySafetyPassed: true;
|
|
497
|
+
scan: StaticProjectSafetyScanV1;
|
|
498
|
+
renderModel: StaticProjectSafeRenderV1;
|
|
499
|
+
state: "pending-review";
|
|
500
|
+
createdAt: string;
|
|
501
|
+
}
|
|
502
|
+
/** Adult approval is evidence only and cannot mutate the reviewed snapshot. */
|
|
503
|
+
interface StaticProjectGuardianApprovalV1 {
|
|
504
|
+
schemaVersion: "1";
|
|
505
|
+
approvalId: string;
|
|
506
|
+
snapshotId: string;
|
|
507
|
+
snapshotDigest: string;
|
|
508
|
+
guardianActorAccountId: string;
|
|
509
|
+
statementVersion: typeof STATIC_PROJECT_APPROVAL_STATEMENT_VERSION_V1;
|
|
510
|
+
approvedAt: string;
|
|
511
|
+
}
|
|
512
|
+
/** An unlisted public pointer whose lifecycle never changes the source snapshot. */
|
|
513
|
+
interface StaticProjectPublicationV1 {
|
|
514
|
+
schemaVersion: "1";
|
|
515
|
+
publicationId: string;
|
|
516
|
+
snapshotId: string;
|
|
517
|
+
snapshotDigest: string;
|
|
518
|
+
approvalId: string;
|
|
519
|
+
randomSlug: string;
|
|
520
|
+
publicUrl: string;
|
|
521
|
+
state: "published" | "expired" | "unpublished";
|
|
522
|
+
publishedAt: string;
|
|
523
|
+
expiresAt: string;
|
|
524
|
+
renewedAt?: string;
|
|
525
|
+
unpublishedAt?: string;
|
|
526
|
+
}
|
|
527
|
+
type StaticProjectContractIssueV1 = "invalid-schema-version" | "invalid-contract-version" | "invalid-identifier" | "invalid-module" | "invalid-version" | "invalid-source-digest" | "invalid-snapshot-digest" | "invalid-source-size" | "assessment-score-incomplete" | "mandatory-safety-missing" | "scan-not-passed" | "scan-checks-incomplete" | "module-render-model-mismatch" | "unsafe-render-model" | "invalid-created-at" | "invalid-approval-statement" | "invalid-approved-at" | "invalid-random-slug" | "invalid-public-url" | "public-url-slug-mismatch" | "published-state-required" | "invalid-published-at" | "invalid-publication-expiry" | "invalid-lifecycle-timestamp";
|
|
528
|
+
/** Validate a snapshot without throwing so authoring and adapters can show every issue. */
|
|
529
|
+
declare function validateStaticProjectSnapshot(value: StaticProjectSnapshotV1): StaticProjectContractIssueV1[];
|
|
530
|
+
/** Fail closed when a persistence or publishing adapter constructs an invalid snapshot. */
|
|
531
|
+
declare function assertValidStaticProjectSnapshot(value: StaticProjectSnapshotV1): void;
|
|
532
|
+
declare function validateStaticProjectGuardianApproval(value: StaticProjectGuardianApprovalV1): StaticProjectContractIssueV1[];
|
|
533
|
+
declare function assertValidStaticProjectGuardianApproval(value: StaticProjectGuardianApprovalV1): void;
|
|
534
|
+
declare function validateStaticProjectPublication(value: StaticProjectPublicationV1): StaticProjectContractIssueV1[];
|
|
535
|
+
declare function assertValidStaticProjectPublication(value: StaticProjectPublicationV1): void;
|
|
536
|
+
|
|
432
537
|
/** Validate the deterministic 20/50/20/10 assessment authority. */
|
|
433
538
|
declare function validateAssessmentRubric(rubric: AssessmentRubricV1, path?: string, moduleId?: string): LearningValidationIssueV1[];
|
|
434
539
|
|
|
@@ -514,6 +619,8 @@ declare const VIBE_BUG_DETECTIVE_MISSION_ONE_AUTHORING_V1: MissionAuthoringBundl
|
|
|
514
619
|
declare const VIBE_IDEA_STUDIO_MISSION_ONE_AUTHORING_V1: MissionAuthoringBundleV1;
|
|
515
620
|
/** Accessible fictional care dashboard with bounded component and timer state. */
|
|
516
621
|
declare const CREATURE_CARE_DASHBOARD_MISSION_ONE_AUTHORING_V1: MissionAuthoringBundleV1;
|
|
622
|
+
/** Safe responsive mission-control dashboard backed only by a serial simulator. */
|
|
623
|
+
declare const ROBOT_MISSION_CONTROL_MISSION_ONE_AUTHORING_V1: MissionAuthoringBundleV1;
|
|
517
624
|
/** Accessible fictional planner mission with a private bounded persistence simulator. */
|
|
518
625
|
declare const ADVENTURE_MISSION_PLANNER_MISSION_ONE_AUTHORING_V1: MissionAuthoringBundleV1;
|
|
519
626
|
declare const ROAD_HOPPER_RALLY_MISSION_ONE_AUTHORING_V1: MissionAuthoringBundleV1;
|
|
@@ -523,4 +630,4 @@ declare function validateLearningPath(path: LearningPathVersionV1): LearningVali
|
|
|
523
630
|
/** Fail fast when a path is not safe to publish or consume. */
|
|
524
631
|
declare function assertValidLearningPath(path: LearningPathVersionV1): void;
|
|
525
632
|
|
|
526
|
-
export { ADVENTURE_MISSION_PLANNER_MISSION_ONE_AUTHORING_V1, type AssessmentCheckResultV1, type AssessmentCriterionV1, type AssessmentDimensionV1, type AssessmentResultV1, type AssessmentRubricV1, type AttemptEvidenceV1, BEACON_BOT_MISSION_ONE_AUTHORING_V1, type BadgeDefinitionV1, CREATURE_CARE_DASHBOARD_MISSION_ONE_AUTHORING_V1, type CommercialStateV1, type CourseMaterialAudienceV1, type CourseMaterialKindV1, type CourseMaterialV1, type CourseMaterialsManifestV1, DANCE_ROVER_MISSION_ONE_AUTHORING_V1, type FacilitatorMissionAuthoringV1, type GuardianAiConsentV1, type HardwareItemV1, type HardwareModeV1, type HardwareRequirementManifestV1, type HardwareVerificationStatusV1, JUNIOR_CODER_MISSION_STAGE_ORDER_V1, JUNIOR_CODER_MODULE_PRICE_V1_1, JUNIOR_CODER_ROBOT_RESCUE_PATH_CURRENT, JUNIOR_CODER_ROBOT_RESCUE_PATH_V1, JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_1, type LearnerMissionAuthoringV1, type LearningGoalV1, type LearningModuleVersionV1, type LearningPathVersionV1, type LearningValidationIssueV1, METEOR_SHIELD_MISSION_ONE_AUTHORING_V1, MISSION_AUTHORING_CONTRACT_VERSION_V1, type MissionAccessibilityAlternativeV1, type MissionArtifactKindV1, type MissionArtifactReferenceV1, type MissionAuthoringBundleV1, type MissionAuthoringGoalV1, type MissionAuthoringValidationIssueV1, type MissionBoundedSuggestionV1, type MissionEvidenceKindV1, type MissionEvidenceRequirementV1, type MissionEvidenceRetentionV1, type MissionFunctionParameterV1, type MissionFunctionReferenceV1, type MissionHardwareAcquisitionScopeV1, type MissionHardwareComponentDisclosureV1, type MissionHardwareDisclosureV1, type MissionInteractionModeV1, type MissionInteractionRequirementV1, type MissionPhysicalSafeguardsV1, type MissionReadinessCheckV1, type MissionRewardBindingV1, type MissionSideAdventureV1, type MissionStageCardV1, type MissionStageKindV1, type MissionV1, type ModuleAgentDefinitionV1, type ModuleAgentFeedbackV1, type ModuleAgentRoleV1, type ModuleCategoryV1, type ModuleEntitlementV1, type ModulePricingV1, type ModuleReferencePriceV1, OBSTACLE_EXPLORER_MISSION_ONE_AUTHORING_V1, PADDLE_PULSE_MISSION_ONE_AUTHORING_V1, PIXEL_TRAIL_CHALLENGE_MISSION_ONE_AUTHORING_V1, type PublishedStaticProjectSnapshotV1, RAINBOW_RESCUE_ROVER_MISSION_ONE_AUTHORING_V1, RESCUE_CREW_COMMANDER_MISSION_ONE_AUTHORING_V1, ROAD_HOPPER_RALLY_MISSION_ONE_AUTHORING_V1, ROBOT_MAZE_DASH_MISSION_ONE_AUTHORING_V1, SERVO_CREATURE_MISSION_ONE_AUTHORING_V1, SKYWING_SPRINT_MISSION_ONE_AUTHORING_V1, STAR_DEFENDER_SQUADRON_MISSION_ONE_AUTHORING_V1, type ScoreBandV1, VIBE_BUG_DETECTIVE_MISSION_ONE_AUTHORING_V1, VIBE_GAME_REMIX_LAB_MISSION_ONE_AUTHORING_V1, VIBE_IDEA_STUDIO_MISSION_ONE_AUTHORING_V1, assertValidLearningPath, assertValidMissionAuthoringBundle, calculateAssessment, validateAssessmentRubric, validateLearningPath, validateMissionAuthoringBundle };
|
|
633
|
+
export { ADVENTURE_MISSION_PLANNER_MISSION_ONE_AUTHORING_V1, type AdventureMissionPlannerSafeRenderV1, type AssessmentCheckResultV1, type AssessmentCriterionV1, type AssessmentDimensionV1, type AssessmentResultV1, type AssessmentRubricV1, type AttemptEvidenceV1, BEACON_BOT_MISSION_ONE_AUTHORING_V1, type BadgeDefinitionV1, CREATURE_CARE_DASHBOARD_MISSION_ONE_AUTHORING_V1, type CommercialStateV1, type CourseMaterialAudienceV1, type CourseMaterialKindV1, type CourseMaterialV1, type CourseMaterialsManifestV1, type CreatureCareDashboardSafeRenderV1, DANCE_ROVER_MISSION_ONE_AUTHORING_V1, type FacilitatorMissionAuthoringV1, type GuardianAiConsentV1, type HardwareItemV1, type HardwareModeV1, type HardwareRequirementManifestV1, type HardwareVerificationStatusV1, JUNIOR_CODER_MISSION_STAGE_ORDER_V1, JUNIOR_CODER_MODULE_PRICE_V1_1, JUNIOR_CODER_ROBOT_RESCUE_PATH_CURRENT, JUNIOR_CODER_ROBOT_RESCUE_PATH_V1, JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_1, type LearnerMissionAuthoringV1, type LearningGoalV1, type LearningModuleVersionV1, type LearningPathVersionV1, type LearningValidationIssueV1, METEOR_SHIELD_MISSION_ONE_AUTHORING_V1, MISSION_AUTHORING_CONTRACT_VERSION_V1, type MissionAccessibilityAlternativeV1, type MissionArtifactKindV1, type MissionArtifactReferenceV1, type MissionAuthoringBundleV1, type MissionAuthoringGoalV1, type MissionAuthoringValidationIssueV1, type MissionBoundedSuggestionV1, type MissionEvidenceKindV1, type MissionEvidenceRequirementV1, type MissionEvidenceRetentionV1, type MissionFunctionParameterV1, type MissionFunctionReferenceV1, type MissionHardwareAcquisitionScopeV1, type MissionHardwareComponentDisclosureV1, type MissionHardwareDisclosureV1, type MissionInteractionModeV1, type MissionInteractionRequirementV1, type MissionPhysicalSafeguardsV1, type MissionReadinessCheckV1, type MissionRewardBindingV1, type MissionSideAdventureV1, type MissionStageCardV1, type MissionStageKindV1, type MissionV1, type ModuleAgentDefinitionV1, type ModuleAgentFeedbackV1, type ModuleAgentRoleV1, type ModuleCategoryV1, type ModuleEntitlementV1, type ModulePricingV1, type ModuleReferencePriceV1, OBSTACLE_EXPLORER_MISSION_ONE_AUTHORING_V1, PADDLE_PULSE_MISSION_ONE_AUTHORING_V1, PIXEL_TRAIL_CHALLENGE_MISSION_ONE_AUTHORING_V1, type PublishedStaticProjectSnapshotV1, RAINBOW_RESCUE_ROVER_MISSION_ONE_AUTHORING_V1, RESCUE_CREW_COMMANDER_MISSION_ONE_AUTHORING_V1, ROAD_HOPPER_RALLY_MISSION_ONE_AUTHORING_V1, ROBOT_MAZE_DASH_MISSION_ONE_AUTHORING_V1, ROBOT_MISSION_CONTROL_MISSION_ONE_AUTHORING_V1, type RobotMissionControlSafeRenderV1, SERVO_CREATURE_MISSION_ONE_AUTHORING_V1, SKYWING_SPRINT_MISSION_ONE_AUTHORING_V1, STAR_DEFENDER_SQUADRON_MISSION_ONE_AUTHORING_V1, STATIC_PROJECT_APPROVAL_STATEMENT_VERSION_V1, STATIC_PROJECT_DEFAULT_LIFETIME_DAYS_V1, STATIC_PROJECT_MAX_SOURCE_CHARACTERS_V1, STATIC_PROJECT_PUBLISHING_CONTRACT_VERSION_V1, STATIC_PROJECT_SAFETY_CHECK_IDS_V1, STATIC_PROJECT_SCANNER_VERSION_V1, type ScoreBandV1, type StaticProjectContractIssueV1, type StaticProjectGuardianApprovalV1, type StaticProjectModuleSlugV1, type StaticProjectPublicationV1, type StaticProjectSafeRenderV1, type StaticProjectSafetyCheckIdV1, type StaticProjectSafetyCheckV1, type StaticProjectSafetyScanV1, type StaticProjectSnapshotV1, VIBE_BUG_DETECTIVE_MISSION_ONE_AUTHORING_V1, VIBE_GAME_REMIX_LAB_MISSION_ONE_AUTHORING_V1, VIBE_IDEA_STUDIO_MISSION_ONE_AUTHORING_V1, assertValidLearningPath, assertValidMissionAuthoringBundle, assertValidStaticProjectGuardianApproval, assertValidStaticProjectPublication, assertValidStaticProjectSnapshot, calculateAssessment, validateAssessmentRubric, validateLearningPath, validateMissionAuthoringBundle, validateStaticProjectGuardianApproval, validateStaticProjectPublication, validateStaticProjectSnapshot };
|