clawed 2.3.9__tar.gz → 2.4.0__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.
Files changed (255) hide show
  1. {clawed-2.3.9 → clawed-2.4.0}/PKG-INFO +1 -1
  2. {clawed-2.3.9 → clawed-2.4.0}/clawed/__init__.py +1 -1
  3. {clawed-2.3.9 → clawed-2.4.0}/clawed/commands/generate.py +15 -0
  4. {clawed-2.3.9 → clawed-2.4.0}/clawed/models.py +1 -1
  5. {clawed-2.3.9 → clawed-2.4.0}/pyproject.toml +1 -1
  6. {clawed-2.3.9 → clawed-2.4.0}/.gitignore +0 -0
  7. {clawed-2.3.9 → clawed-2.4.0}/LICENSE +0 -0
  8. {clawed-2.3.9 → clawed-2.4.0}/README.md +0 -0
  9. {clawed-2.3.9 → clawed-2.4.0}/clawed/__main__.py +0 -0
  10. {clawed-2.3.9 → clawed-2.4.0}/clawed/_legacy_gateway.py +0 -0
  11. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent.py +0 -0
  12. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/__init__.py +0 -0
  13. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/approvals.py +0 -0
  14. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/autonomy.py +0 -0
  15. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/context.py +0 -0
  16. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/core.py +0 -0
  17. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/custom_tools.py +0 -0
  18. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/drive/__init__.py +0 -0
  19. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/drive/auth.py +0 -0
  20. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/drive/client.py +0 -0
  21. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/fake_llm.py +0 -0
  22. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/loop.py +0 -0
  23. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/memory/__init__.py +0 -0
  24. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/memory/curriculum.py +0 -0
  25. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/memory/curriculum_kb.py +0 -0
  26. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/memory/embeddings.py +0 -0
  27. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/memory/episodes.py +0 -0
  28. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/memory/identity.py +0 -0
  29. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/memory/loader.py +0 -0
  30. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/memory/preferences.py +0 -0
  31. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/planner.py +0 -0
  32. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/prompt.py +0 -0
  33. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/scheduler.py +0 -0
  34. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/__init__.py +0 -0
  35. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/base.py +0 -0
  36. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/configure_profile.py +0 -0
  37. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/curriculum_map.py +0 -0
  38. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/drive_create_doc.py +0 -0
  39. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/drive_create_slides.py +0 -0
  40. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/drive_list.py +0 -0
  41. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/drive_organize.py +0 -0
  42. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/drive_read.py +0 -0
  43. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/drive_upload.py +0 -0
  44. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/export_document.py +0 -0
  45. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/gap_analysis.py +0 -0
  46. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/generate_assessment.py +0 -0
  47. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/generate_lesson.py +0 -0
  48. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/generate_lesson_bundle.py +0 -0
  49. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/generate_materials.py +0 -0
  50. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/generate_unit.py +0 -0
  51. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/ingest_materials.py +0 -0
  52. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/parent_comm.py +0 -0
  53. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/read_heartbeat.py +0 -0
  54. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/read_workspace.py +0 -0
  55. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/request_approval.py +0 -0
  56. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/schedule_task.py +0 -0
  57. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/search_lessons.py +0 -0
  58. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/search_my_materials.py +0 -0
  59. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/search_standards.py +0 -0
  60. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/student_insights.py +0 -0
  61. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/sub_packet.py +0 -0
  62. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/switch_model.py +0 -0
  63. {clawed-2.3.9 → clawed-2.4.0}/clawed/agent_core/tools/update_soul.py +0 -0
  64. {clawed-2.3.9 → clawed-2.4.0}/clawed/analytics.py +0 -0
  65. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/__init__.py +0 -0
  66. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/deps.py +0 -0
  67. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/routes/__init__.py +0 -0
  68. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/routes/chat.py +0 -0
  69. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/routes/export.py +0 -0
  70. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/routes/feedback.py +0 -0
  71. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/routes/gateway_chat.py +0 -0
  72. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/routes/generate.py +0 -0
  73. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/routes/ingest.py +0 -0
  74. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/routes/lessons.py +0 -0
  75. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/routes/school.py +0 -0
  76. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/routes/settings.py +0 -0
  77. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/routes/tools.py +0 -0
  78. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/server.py +0 -0
  79. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/static/app.js +0 -0
  80. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/static/style.css +0 -0
  81. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/static/widget.js +0 -0
  82. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/templates/analytics.html +0 -0
  83. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/templates/base.html +0 -0
  84. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/templates/dashboard.html +0 -0
  85. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/templates/generate.html +0 -0
  86. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/templates/index.html +0 -0
  87. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/templates/lesson.html +0 -0
  88. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/templates/profile.html +0 -0
  89. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/templates/settings.html +0 -0
  90. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/templates/stats.html +0 -0
  91. {clawed-2.3.9 → clawed-2.4.0}/clawed/api/templates/students.html +0 -0
  92. {clawed-2.3.9 → clawed-2.4.0}/clawed/assessment.py +0 -0
  93. {clawed-2.3.9 → clawed-2.4.0}/clawed/asset_registry.py +0 -0
  94. {clawed-2.3.9 → clawed-2.4.0}/clawed/async_utils.py +0 -0
  95. {clawed-2.3.9 → clawed-2.4.0}/clawed/auth/__init__.py +0 -0
  96. {clawed-2.3.9 → clawed-2.4.0}/clawed/auth/google_auth.py +0 -0
  97. {clawed-2.3.9 → clawed-2.4.0}/clawed/bot_state.py +0 -0
  98. {clawed-2.3.9 → clawed-2.4.0}/clawed/chat.py +0 -0
  99. {clawed-2.3.9 → clawed-2.4.0}/clawed/cli.py +0 -0
  100. {clawed-2.3.9 → clawed-2.4.0}/clawed/cli_chat.py +0 -0
  101. {clawed-2.3.9 → clawed-2.4.0}/clawed/commands/__init__.py +0 -0
  102. {clawed-2.3.9 → clawed-2.4.0}/clawed/commands/_helpers.py +0 -0
  103. {clawed-2.3.9 → clawed-2.4.0}/clawed/commands/bot.py +0 -0
  104. {clawed-2.3.9 → clawed-2.4.0}/clawed/commands/config.py +0 -0
  105. {clawed-2.3.9 → clawed-2.4.0}/clawed/commands/config_llm.py +0 -0
  106. {clawed-2.3.9 → clawed-2.4.0}/clawed/commands/config_profile.py +0 -0
  107. {clawed-2.3.9 → clawed-2.4.0}/clawed/commands/export.py +0 -0
  108. {clawed-2.3.9 → clawed-2.4.0}/clawed/commands/generate_assessment.py +0 -0
  109. {clawed-2.3.9 → clawed-2.4.0}/clawed/commands/generate_unit.py +0 -0
  110. {clawed-2.3.9 → clawed-2.4.0}/clawed/commands/queue.py +0 -0
  111. {clawed-2.3.9 → clawed-2.4.0}/clawed/commands/schedule_cmd.py +0 -0
  112. {clawed-2.3.9 → clawed-2.4.0}/clawed/commands/sub.py +0 -0
  113. {clawed-2.3.9 → clawed-2.4.0}/clawed/commands/train.py +0 -0
  114. {clawed-2.3.9 → clawed-2.4.0}/clawed/commands/workspace_cmd.py +0 -0
  115. {clawed-2.3.9 → clawed-2.4.0}/clawed/compile_slides.py +0 -0
  116. {clawed-2.3.9 → clawed-2.4.0}/clawed/compile_student.py +0 -0
  117. {clawed-2.3.9 → clawed-2.4.0}/clawed/compile_teacher.py +0 -0
  118. {clawed-2.3.9 → clawed-2.4.0}/clawed/config.py +0 -0
  119. {clawed-2.3.9 → clawed-2.4.0}/clawed/corpus.py +0 -0
  120. {clawed-2.3.9 → clawed-2.4.0}/clawed/curriculum_map.py +0 -0
  121. {clawed-2.3.9 → clawed-2.4.0}/clawed/database.py +0 -0
  122. {clawed-2.3.9 → clawed-2.4.0}/clawed/demo/__init__.py +0 -0
  123. {clawed-2.3.9 → clawed-2.4.0}/clawed/demo/demo_assessment.json +0 -0
  124. {clawed-2.3.9 → clawed-2.4.0}/clawed/demo/demo_formative_assessment.json +0 -0
  125. {clawed-2.3.9 → clawed-2.4.0}/clawed/demo/demo_lesson_materials.json +0 -0
  126. {clawed-2.3.9 → clawed-2.4.0}/clawed/demo/demo_lesson_science_g6.json +0 -0
  127. {clawed-2.3.9 → clawed-2.4.0}/clawed/demo/demo_lesson_social_studies_g8.json +0 -0
  128. {clawed-2.3.9 → clawed-2.4.0}/clawed/demo/demo_master_content.json +0 -0
  129. {clawed-2.3.9 → clawed-2.4.0}/clawed/demo/demo_pacing_guide.json +0 -0
  130. {clawed-2.3.9 → clawed-2.4.0}/clawed/demo/demo_quiz.json +0 -0
  131. {clawed-2.3.9 → clawed-2.4.0}/clawed/demo/demo_rubric.json +0 -0
  132. {clawed-2.3.9 → clawed-2.4.0}/clawed/demo/demo_unit_plan.json +0 -0
  133. {clawed-2.3.9 → clawed-2.4.0}/clawed/demo/demo_year_map.json +0 -0
  134. {clawed-2.3.9 → clawed-2.4.0}/clawed/differentiation.py +0 -0
  135. {clawed-2.3.9 → clawed-2.4.0}/clawed/doc_export.py +0 -0
  136. {clawed-2.3.9 → clawed-2.4.0}/clawed/drive.py +0 -0
  137. {clawed-2.3.9 → clawed-2.4.0}/clawed/evaluation.py +0 -0
  138. {clawed-2.3.9 → clawed-2.4.0}/clawed/export_docx.py +0 -0
  139. {clawed-2.3.9 → clawed-2.4.0}/clawed/export_handout.py +0 -0
  140. {clawed-2.3.9 → clawed-2.4.0}/clawed/export_markdown.py +0 -0
  141. {clawed-2.3.9 → clawed-2.4.0}/clawed/export_pdf.py +0 -0
  142. {clawed-2.3.9 → clawed-2.4.0}/clawed/export_pptx.py +0 -0
  143. {clawed-2.3.9 → clawed-2.4.0}/clawed/export_templates.py +0 -0
  144. {clawed-2.3.9 → clawed-2.4.0}/clawed/export_theme.py +0 -0
  145. {clawed-2.3.9 → clawed-2.4.0}/clawed/exporter.py +0 -0
  146. {clawed-2.3.9 → clawed-2.4.0}/clawed/failure_codes.py +0 -0
  147. {clawed-2.3.9 → clawed-2.4.0}/clawed/feedback.py +0 -0
  148. {clawed-2.3.9 → clawed-2.4.0}/clawed/formats/__init__.py +0 -0
  149. {clawed-2.3.9 → clawed-2.4.0}/clawed/formats/flipchart.py +0 -0
  150. {clawed-2.3.9 → clawed-2.4.0}/clawed/formats/notebook.py +0 -0
  151. {clawed-2.3.9 → clawed-2.4.0}/clawed/formats/xbk.py +0 -0
  152. {clawed-2.3.9 → clawed-2.4.0}/clawed/gateway.py +0 -0
  153. {clawed-2.3.9 → clawed-2.4.0}/clawed/gateway_response.py +0 -0
  154. {clawed-2.3.9 → clawed-2.4.0}/clawed/generation.py +0 -0
  155. {clawed-2.3.9 → clawed-2.4.0}/clawed/generation_report.py +0 -0
  156. {clawed-2.3.9 → clawed-2.4.0}/clawed/handlers/__init__.py +0 -0
  157. {clawed-2.3.9 → clawed-2.4.0}/clawed/handlers/export.py +0 -0
  158. {clawed-2.3.9 → clawed-2.4.0}/clawed/handlers/feedback.py +0 -0
  159. {clawed-2.3.9 → clawed-2.4.0}/clawed/handlers/gaps.py +0 -0
  160. {clawed-2.3.9 → clawed-2.4.0}/clawed/handlers/generate.py +0 -0
  161. {clawed-2.3.9 → clawed-2.4.0}/clawed/handlers/ingest.py +0 -0
  162. {clawed-2.3.9 → clawed-2.4.0}/clawed/handlers/misc.py +0 -0
  163. {clawed-2.3.9 → clawed-2.4.0}/clawed/handlers/onboard.py +0 -0
  164. {clawed-2.3.9 → clawed-2.4.0}/clawed/handlers/schedule.py +0 -0
  165. {clawed-2.3.9 → clawed-2.4.0}/clawed/handlers/standards.py +0 -0
  166. {clawed-2.3.9 → clawed-2.4.0}/clawed/hermes_plugin.py +0 -0
  167. {clawed-2.3.9 → clawed-2.4.0}/clawed/image_pipeline.py +0 -0
  168. {clawed-2.3.9 → clawed-2.4.0}/clawed/improver.py +0 -0
  169. {clawed-2.3.9 → clawed-2.4.0}/clawed/ingestor.py +0 -0
  170. {clawed-2.3.9 → clawed-2.4.0}/clawed/io.py +0 -0
  171. {clawed-2.3.9 → clawed-2.4.0}/clawed/lesson.py +0 -0
  172. {clawed-2.3.9 → clawed-2.4.0}/clawed/llm.py +0 -0
  173. {clawed-2.3.9 → clawed-2.4.0}/clawed/master_content.py +0 -0
  174. {clawed-2.3.9 → clawed-2.4.0}/clawed/materials.py +0 -0
  175. {clawed-2.3.9 → clawed-2.4.0}/clawed/mcp_server.py +0 -0
  176. {clawed-2.3.9 → clawed-2.4.0}/clawed/memory_engine.py +0 -0
  177. {clawed-2.3.9 → clawed-2.4.0}/clawed/model_router.py +0 -0
  178. {clawed-2.3.9 → clawed-2.4.0}/clawed/multi_agent.py +0 -0
  179. {clawed-2.3.9 → clawed-2.4.0}/clawed/onboarding.py +0 -0
  180. {clawed-2.3.9 → clawed-2.4.0}/clawed/openclaw_plugin.py +0 -0
  181. {clawed-2.3.9 → clawed-2.4.0}/clawed/parent_comm.py +0 -0
  182. {clawed-2.3.9 → clawed-2.4.0}/clawed/persona.py +0 -0
  183. {clawed-2.3.9 → clawed-2.4.0}/clawed/persona_evolution.py +0 -0
  184. {clawed-2.3.9 → clawed-2.4.0}/clawed/planner.py +0 -0
  185. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/504_accommodations.txt +0 -0
  186. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/admin_lesson_plan.txt +0 -0
  187. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/assessment.txt +0 -0
  188. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/curriculum_gaps.txt +0 -0
  189. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/dbq_assessment.txt +0 -0
  190. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/differentiation.txt +0 -0
  191. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/formative_assessment.txt +0 -0
  192. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/iep_modification.txt +0 -0
  193. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/lesson_plan.txt +0 -0
  194. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/master_content.txt +0 -0
  195. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/multi_agent_researcher.txt +0 -0
  196. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/multi_agent_reviewer.txt +0 -0
  197. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/pacing_guide.txt +0 -0
  198. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/parent_note.txt +0 -0
  199. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/persona_extract.txt +0 -0
  200. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/quiz.txt +0 -0
  201. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/rubric.txt +0 -0
  202. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/student_packet.txt +0 -0
  203. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/sub_packet.txt +0 -0
  204. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/summative_assessment.txt +0 -0
  205. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/tiered_assignments.txt +0 -0
  206. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/unit_plan.txt +0 -0
  207. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/worksheet.txt +0 -0
  208. {clawed-2.3.9 → clawed-2.4.0}/clawed/prompts/year_map.txt +0 -0
  209. {clawed-2.3.9 → clawed-2.4.0}/clawed/quality.py +0 -0
  210. {clawed-2.3.9 → clawed-2.4.0}/clawed/reading_report.py +0 -0
  211. {clawed-2.3.9 → clawed-2.4.0}/clawed/router.py +0 -0
  212. {clawed-2.3.9 → clawed-2.4.0}/clawed/sanitize.py +0 -0
  213. {clawed-2.3.9 → clawed-2.4.0}/clawed/scheduler.py +0 -0
  214. {clawed-2.3.9 → clawed-2.4.0}/clawed/school.py +0 -0
  215. {clawed-2.3.9 → clawed-2.4.0}/clawed/search.py +0 -0
  216. {clawed-2.3.9 → clawed-2.4.0}/clawed/skills/__init__.py +0 -0
  217. {clawed-2.3.9 → clawed-2.4.0}/clawed/skills/art.py +0 -0
  218. {clawed-2.3.9 → clawed-2.4.0}/clawed/skills/base.py +0 -0
  219. {clawed-2.3.9 → clawed-2.4.0}/clawed/skills/computer_science.py +0 -0
  220. {clawed-2.3.9 → clawed-2.4.0}/clawed/skills/ela.py +0 -0
  221. {clawed-2.3.9 → clawed-2.4.0}/clawed/skills/foreign_language.py +0 -0
  222. {clawed-2.3.9 → clawed-2.4.0}/clawed/skills/history.py +0 -0
  223. {clawed-2.3.9 → clawed-2.4.0}/clawed/skills/library.py +0 -0
  224. {clawed-2.3.9 → clawed-2.4.0}/clawed/skills/math.py +0 -0
  225. {clawed-2.3.9 → clawed-2.4.0}/clawed/skills/music.py +0 -0
  226. {clawed-2.3.9 → clawed-2.4.0}/clawed/skills/physical_education.py +0 -0
  227. {clawed-2.3.9 → clawed-2.4.0}/clawed/skills/science.py +0 -0
  228. {clawed-2.3.9 → clawed-2.4.0}/clawed/skills/social_studies.py +0 -0
  229. {clawed-2.3.9 → clawed-2.4.0}/clawed/skills/special_education.py +0 -0
  230. {clawed-2.3.9 → clawed-2.4.0}/clawed/slide_images.py +0 -0
  231. {clawed-2.3.9 → clawed-2.4.0}/clawed/standards.py +0 -0
  232. {clawed-2.3.9 → clawed-2.4.0}/clawed/state.py +0 -0
  233. {clawed-2.3.9 → clawed-2.4.0}/clawed/state_standards.py +0 -0
  234. {clawed-2.3.9 → clawed-2.4.0}/clawed/student_bot.py +0 -0
  235. {clawed-2.3.9 → clawed-2.4.0}/clawed/student_cli.py +0 -0
  236. {clawed-2.3.9 → clawed-2.4.0}/clawed/student_telegram_bot.py +0 -0
  237. {clawed-2.3.9 → clawed-2.4.0}/clawed/sub_packet.py +0 -0
  238. {clawed-2.3.9 → clawed-2.4.0}/clawed/task_queue.py +0 -0
  239. {clawed-2.3.9 → clawed-2.4.0}/clawed/templates_lib.py +0 -0
  240. {clawed-2.3.9 → clawed-2.4.0}/clawed/tools.py +0 -0
  241. {clawed-2.3.9 → clawed-2.4.0}/clawed/transports/__init__.py +0 -0
  242. {clawed-2.3.9 → clawed-2.4.0}/clawed/transports/cli.py +0 -0
  243. {clawed-2.3.9 → clawed-2.4.0}/clawed/transports/hermes.py +0 -0
  244. {clawed-2.3.9 → clawed-2.4.0}/clawed/transports/openclaw.py +0 -0
  245. {clawed-2.3.9 → clawed-2.4.0}/clawed/transports/student_telegram.py +0 -0
  246. {clawed-2.3.9 → clawed-2.4.0}/clawed/transports/telegram.py +0 -0
  247. {clawed-2.3.9 → clawed-2.4.0}/clawed/transports/web.py +0 -0
  248. {clawed-2.3.9 → clawed-2.4.0}/clawed/tui.py +0 -0
  249. {clawed-2.3.9 → clawed-2.4.0}/clawed/tui_chat.py +0 -0
  250. {clawed-2.3.9 → clawed-2.4.0}/clawed/validation.py +0 -0
  251. {clawed-2.3.9 → clawed-2.4.0}/clawed/voice.py +0 -0
  252. {clawed-2.3.9 → clawed-2.4.0}/clawed/voice_check.py +0 -0
  253. {clawed-2.3.9 → clawed-2.4.0}/clawed/workspace.py +0 -0
  254. {clawed-2.3.9 → clawed-2.4.0}/eduagent/__init__.py +0 -0
  255. {clawed-2.3.9 → clawed-2.4.0}/eduagent/_compat.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clawed
3
- Version: 2.3.9
3
+ Version: 2.4.0
4
4
  Summary: Free AI lesson planner for teachers. Learns your teaching voice from your curriculum files and generates complete lesson packages. Open source, runs locally, no subscription.
5
5
  Project-URL: Homepage, https://sirhanmacx.github.io/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.9"
20
+ __version__ = "2.4.0"
21
21
  __author__ = "Jon Maccarello & Claw-ED contributors"
22
22
  __description__ = "Personal AI teaching agent. Learns your voice, works while you sleep."
23
23
 
@@ -441,6 +441,21 @@ def lesson(
441
441
  raise typer.Exit(1)
442
442
  progress.update(task, description="Lesson plan complete!")
443
443
 
444
+ # ── Voice scoring ────────────────────────────────────────────
445
+ try:
446
+ from clawed.quality import score_voice_match
447
+ from clawed.persona import load_persona as _load_p
448
+ _pp = _output_dir() / "persona.json"
449
+ if _pp.exists():
450
+ _persona = _load_p(_pp)
451
+ _lesson_text = str(daily.objective) + " " + str(daily.do_now) + " " + str(getattr(daily, 'direct_instruction', ''))
452
+ _voice_score = _run_async(score_voice_match(_lesson_text, _persona.to_prompt_context()))
453
+ if _voice_score and _voice_score > 0:
454
+ _color = "green" if _voice_score >= 3.5 else "yellow" if _voice_score >= 2.5 else "red"
455
+ console.print(f" Voice match: [{_color}]{_voice_score:.1f}/5.0[/{_color}]")
456
+ except Exception:
457
+ pass # Non-blocking — don't fail lesson delivery on scoring error
458
+
444
459
  out_dir = _output_dir()
445
460
  json_path = save_lesson(daily, out_dir)
446
461
 
@@ -1010,7 +1010,7 @@ class AppConfig(BaseModel):
1010
1010
  output_dir: str = "./clawed_output"
1011
1011
  include_homework: bool = True
1012
1012
  agent_gateway: bool = True
1013
- export_format: str = "markdown"
1013
+ export_format: str = "docx"
1014
1014
  drive_root_folder: str = ""
1015
1015
  drive_token_path: str = ""
1016
1016
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "clawed"
7
- version = "2.3.9"
7
+ version = "2.4.0"
8
8
  description = "Free AI lesson planner for teachers. Learns your teaching voice from your curriculum files and generates complete lesson packages. Open source, runs locally, no subscription."
9
9
  readme = "README.md"
10
10
  license = "MIT"
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