clawed 2.3.1__tar.gz → 2.3.2__tar.gz
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.
- {clawed-2.3.1 → clawed-2.3.2}/PKG-INFO +1 -1
- {clawed-2.3.1 → clawed-2.3.2}/clawed/__init__.py +1 -1
- {clawed-2.3.1 → clawed-2.3.2}/clawed/export_pptx.py +32 -4
- {clawed-2.3.1 → clawed-2.3.2}/pyproject.toml +1 -1
- {clawed-2.3.1 → clawed-2.3.2}/.gitignore +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/LICENSE +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/README.md +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/__main__.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/_legacy_gateway.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/__init__.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/approvals.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/autonomy.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/context.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/core.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/custom_tools.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/drive/__init__.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/drive/auth.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/drive/client.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/fake_llm.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/loop.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/memory/__init__.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/memory/curriculum.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/memory/curriculum_kb.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/memory/embeddings.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/memory/episodes.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/memory/identity.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/memory/loader.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/memory/preferences.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/planner.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/prompt.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/scheduler.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/__init__.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/base.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/configure_profile.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/curriculum_map.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/drive_create_doc.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/drive_create_slides.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/drive_list.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/drive_organize.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/drive_read.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/drive_upload.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/export_document.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/gap_analysis.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/generate_assessment.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/generate_lesson.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/generate_lesson_bundle.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/generate_materials.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/generate_unit.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/ingest_materials.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/parent_comm.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/read_heartbeat.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/read_workspace.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/request_approval.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/schedule_task.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/search_lessons.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/search_my_materials.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/search_standards.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/student_insights.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/sub_packet.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/switch_model.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/update_soul.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/analytics.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/__init__.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/deps.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/__init__.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/chat.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/export.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/feedback.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/gateway_chat.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/generate.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/ingest.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/lessons.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/school.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/settings.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/tools.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/server.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/static/app.js +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/static/style.css +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/static/widget.js +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/templates/analytics.html +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/templates/base.html +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/templates/dashboard.html +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/templates/generate.html +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/templates/index.html +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/templates/lesson.html +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/templates/profile.html +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/templates/settings.html +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/templates/stats.html +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/api/templates/students.html +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/assessment.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/asset_registry.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/auth/__init__.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/auth/google_auth.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/bot_state.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/chat.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/cli.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/cli_chat.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/__init__.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/_helpers.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/bot.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/config.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/config_llm.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/config_profile.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/export.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/generate.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/generate_assessment.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/generate_unit.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/queue.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/schedule_cmd.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/sub.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/workspace_cmd.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/config.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/corpus.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/curriculum_map.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/database.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/demo/__init__.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/demo/demo_assessment.json +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/demo/demo_lesson_science_g6.json +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/demo/demo_lesson_social_studies_g8.json +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/demo/demo_unit_plan.json +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/differentiation.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/doc_export.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/drive.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/evaluation.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/export_docx.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/export_handout.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/export_markdown.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/export_pdf.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/export_templates.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/export_theme.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/exporter.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/feedback.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/formats/__init__.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/formats/flipchart.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/formats/notebook.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/formats/xbk.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/gateway.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/gateway_response.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/generation.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/handlers/__init__.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/handlers/export.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/handlers/feedback.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/handlers/gaps.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/handlers/generate.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/handlers/ingest.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/handlers/misc.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/handlers/onboard.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/handlers/schedule.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/handlers/standards.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/improver.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/ingestor.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/io.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/lesson.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/llm.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/materials.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/mcp_server.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/memory_engine.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/model_router.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/models.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/onboarding.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/openclaw_plugin.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/parent_comm.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/persona.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/planner.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/504_accommodations.txt +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/admin_lesson_plan.txt +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/assessment.txt +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/curriculum_gaps.txt +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/dbq_assessment.txt +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/differentiation.txt +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/formative_assessment.txt +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/iep_modification.txt +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/lesson_plan.txt +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/pacing_guide.txt +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/parent_note.txt +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/persona_extract.txt +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/quiz.txt +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/rubric.txt +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/student_packet.txt +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/sub_packet.txt +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/summative_assessment.txt +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/tiered_assignments.txt +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/unit_plan.txt +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/worksheet.txt +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/year_map.txt +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/quality.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/reading_report.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/router.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/sanitize.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/scheduler.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/school.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/search.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/__init__.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/art.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/base.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/computer_science.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/ela.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/foreign_language.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/history.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/library.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/math.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/music.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/physical_education.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/science.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/social_studies.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/special_education.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/slide_images.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/standards.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/state.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/state_standards.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/student_bot.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/student_cli.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/student_telegram_bot.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/sub_packet.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/task_queue.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/templates_lib.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/tools.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/transports/__init__.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/transports/cli.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/transports/openclaw.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/transports/student_telegram.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/transports/telegram.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/transports/web.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/tui.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/tui_chat.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/voice.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/clawed/workspace.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/eduagent/__init__.py +0 -0
- {clawed-2.3.1 → clawed-2.3.2}/eduagent/_compat.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: clawed
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.2
|
|
4
4
|
Summary: Claw-ED — personal AI teaching agent. Learns your voice, works while you sleep.
|
|
5
5
|
Project-URL: Homepage, https://github.com/SirhanMacx/Claw-ED
|
|
6
6
|
Project-URL: Documentation, https://github.com/SirhanMacx/Claw-ED#readme
|
|
@@ -17,7 +17,7 @@ if hasattr(sys.stderr, "reconfigure"):
|
|
|
17
17
|
except Exception:
|
|
18
18
|
pass
|
|
19
19
|
|
|
20
|
-
__version__ = "2.3.
|
|
20
|
+
__version__ = "2.3.2"
|
|
21
21
|
__author__ = "Jon Maccarello & Claw-ED contributors"
|
|
22
22
|
__description__ = "Personal AI teaching agent. Learns your voice, works while you sleep."
|
|
23
23
|
|
|
@@ -555,7 +555,7 @@ def export_lesson_pptx(
|
|
|
555
555
|
run.text = "Standards Addressed"
|
|
556
556
|
_set_text_props(run, 16, "888888", bold=True)
|
|
557
557
|
|
|
558
|
-
for std in lesson.standards[:
|
|
558
|
+
for std in lesson.standards[:3]:
|
|
559
559
|
p = tf.add_paragraph()
|
|
560
560
|
p.space_before = Pt(6)
|
|
561
561
|
run = p.add_run()
|
|
@@ -597,9 +597,22 @@ def export_lesson_pptx(
|
|
|
597
597
|
p = tf.paragraphs[0]
|
|
598
598
|
p.line_spacing = Pt(38)
|
|
599
599
|
run = p.add_run()
|
|
600
|
-
|
|
600
|
+
# Brief prompt on slide face, full text in speaker notes
|
|
601
|
+
dn_text = lesson.do_now
|
|
602
|
+
if len(dn_text) > 250:
|
|
603
|
+
cutoff = dn_text[:250].rfind(". ")
|
|
604
|
+
dn_display = dn_text[:cutoff + 1] if cutoff > 80 else dn_text[:250].rsplit(" ", 1)[0] + "..."
|
|
605
|
+
else:
|
|
606
|
+
dn_display = dn_text
|
|
607
|
+
run.text = dn_display
|
|
601
608
|
_set_text_props(run, 28, theme["text_dark"])
|
|
602
609
|
|
|
610
|
+
# Full Do Now in speaker notes
|
|
611
|
+
if len(dn_text) > 250:
|
|
612
|
+
notes_slide = slide.notes_slide
|
|
613
|
+
notes_tf = notes_slide.notes_text_frame
|
|
614
|
+
notes_tf.text = dn_text
|
|
615
|
+
|
|
603
616
|
if do_now_img:
|
|
604
617
|
from clawed.slide_images import _extract_key_concepts
|
|
605
618
|
concepts = _extract_key_concepts(lesson.do_now)
|
|
@@ -1028,7 +1041,11 @@ def export_lesson_pptx(
|
|
|
1028
1041
|
tf = tb.text_frame
|
|
1029
1042
|
tf.word_wrap = True
|
|
1030
1043
|
run = tf.paragraphs[0].add_run()
|
|
1031
|
-
|
|
1044
|
+
# Truncate long questions for slide readability
|
|
1045
|
+
q_text = q.question
|
|
1046
|
+
if len(q_text) > 120:
|
|
1047
|
+
q_text = q_text[:120].rsplit(" ", 1)[0] + "..."
|
|
1048
|
+
run.text = q_text
|
|
1032
1049
|
_set_text_props(run, 20, theme["text_dark"])
|
|
1033
1050
|
|
|
1034
1051
|
q_top += Inches(1.3)
|
|
@@ -1081,8 +1098,19 @@ def export_lesson_pptx(
|
|
|
1081
1098
|
p = tf.paragraphs[0]
|
|
1082
1099
|
p.line_spacing = Pt(30)
|
|
1083
1100
|
run = p.add_run()
|
|
1084
|
-
|
|
1101
|
+
# Brief homework summary on slide, full in notes
|
|
1102
|
+
hw_text = lesson.homework
|
|
1103
|
+
if len(hw_text) > 200:
|
|
1104
|
+
cutoff = hw_text[:200].rfind(". ")
|
|
1105
|
+
hw_display = hw_text[:cutoff + 1] if cutoff > 60 else hw_text[:200].rsplit(" ", 1)[0] + "..."
|
|
1106
|
+
else:
|
|
1107
|
+
hw_display = hw_text
|
|
1108
|
+
run.text = hw_display
|
|
1085
1109
|
_set_text_props(run, 22, "DDDDDD")
|
|
1110
|
+
if len(hw_text) > 200:
|
|
1111
|
+
notes_slide = slide.notes_slide
|
|
1112
|
+
notes_tf = notes_slide.notes_text_frame
|
|
1113
|
+
notes_tf.text = f"HOMEWORK (full text):\n{hw_text}"
|
|
1086
1114
|
else:
|
|
1087
1115
|
# "Key Takeaway" or "Questions?"
|
|
1088
1116
|
tb = slide.shapes.add_textbox(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|