clawed 2.4.0__tar.gz → 2.5.1__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 (259) hide show
  1. {clawed-2.4.0 → clawed-2.5.1}/.gitignore +6 -0
  2. clawed-2.5.1/PKG-INFO +389 -0
  3. clawed-2.5.1/README.md +313 -0
  4. {clawed-2.4.0 → clawed-2.5.1}/clawed/__init__.py +1 -1
  5. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent.py +8 -5
  6. {clawed-2.4.0 → clawed-2.5.1}/clawed/cli.py +2 -0
  7. clawed-2.5.1/clawed/commands/game.py +179 -0
  8. {clawed-2.4.0 → clawed-2.5.1}/clawed/commands/generate.py +48 -5
  9. {clawed-2.4.0 → clawed-2.5.1}/clawed/commands/train.py +8 -8
  10. clawed-2.5.1/clawed/compile_game.py +275 -0
  11. {clawed-2.4.0 → clawed-2.5.1}/clawed/lesson.py +42 -20
  12. {clawed-2.4.0 → clawed-2.5.1}/clawed/model_router.py +1 -0
  13. {clawed-2.4.0 → clawed-2.5.1}/clawed/models.py +35 -8
  14. {clawed-2.4.0 → clawed-2.5.1}/clawed/multi_agent.py +0 -1
  15. {clawed-2.4.0 → clawed-2.5.1}/clawed/onboarding.py +137 -51
  16. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/master_content.txt +26 -5
  17. {clawed-2.4.0 → clawed-2.5.1}/pyproject.toml +1 -1
  18. clawed-2.4.0/PKG-INFO +0 -314
  19. clawed-2.4.0/README.md +0 -238
  20. {clawed-2.4.0 → clawed-2.5.1}/LICENSE +0 -0
  21. {clawed-2.4.0 → clawed-2.5.1}/clawed/__main__.py +0 -0
  22. {clawed-2.4.0 → clawed-2.5.1}/clawed/_legacy_gateway.py +0 -0
  23. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/__init__.py +0 -0
  24. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/approvals.py +0 -0
  25. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/autonomy.py +0 -0
  26. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/context.py +0 -0
  27. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/core.py +0 -0
  28. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/custom_tools.py +0 -0
  29. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/drive/__init__.py +0 -0
  30. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/drive/auth.py +0 -0
  31. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/drive/client.py +0 -0
  32. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/fake_llm.py +0 -0
  33. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/loop.py +0 -0
  34. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/memory/__init__.py +0 -0
  35. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/memory/curriculum.py +0 -0
  36. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/memory/curriculum_kb.py +0 -0
  37. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/memory/embeddings.py +0 -0
  38. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/memory/episodes.py +0 -0
  39. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/memory/identity.py +0 -0
  40. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/memory/loader.py +0 -0
  41. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/memory/preferences.py +0 -0
  42. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/planner.py +0 -0
  43. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/prompt.py +0 -0
  44. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/scheduler.py +0 -0
  45. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/__init__.py +0 -0
  46. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/base.py +0 -0
  47. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/configure_profile.py +0 -0
  48. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/curriculum_map.py +0 -0
  49. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/drive_create_doc.py +0 -0
  50. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/drive_create_slides.py +0 -0
  51. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/drive_list.py +0 -0
  52. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/drive_organize.py +0 -0
  53. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/drive_read.py +0 -0
  54. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/drive_upload.py +0 -0
  55. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/export_document.py +0 -0
  56. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/gap_analysis.py +0 -0
  57. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/generate_assessment.py +0 -0
  58. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/generate_lesson.py +0 -0
  59. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/generate_lesson_bundle.py +0 -0
  60. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/generate_materials.py +0 -0
  61. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/generate_unit.py +0 -0
  62. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/ingest_materials.py +0 -0
  63. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/parent_comm.py +0 -0
  64. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/read_heartbeat.py +0 -0
  65. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/read_workspace.py +0 -0
  66. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/request_approval.py +0 -0
  67. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/schedule_task.py +0 -0
  68. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/search_lessons.py +0 -0
  69. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/search_my_materials.py +0 -0
  70. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/search_standards.py +0 -0
  71. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/student_insights.py +0 -0
  72. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/sub_packet.py +0 -0
  73. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/switch_model.py +0 -0
  74. {clawed-2.4.0 → clawed-2.5.1}/clawed/agent_core/tools/update_soul.py +0 -0
  75. {clawed-2.4.0 → clawed-2.5.1}/clawed/analytics.py +0 -0
  76. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/__init__.py +0 -0
  77. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/deps.py +0 -0
  78. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/routes/__init__.py +0 -0
  79. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/routes/chat.py +0 -0
  80. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/routes/export.py +0 -0
  81. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/routes/feedback.py +0 -0
  82. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/routes/gateway_chat.py +0 -0
  83. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/routes/generate.py +0 -0
  84. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/routes/ingest.py +0 -0
  85. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/routes/lessons.py +0 -0
  86. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/routes/school.py +0 -0
  87. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/routes/settings.py +0 -0
  88. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/routes/tools.py +0 -0
  89. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/server.py +0 -0
  90. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/static/app.js +0 -0
  91. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/static/style.css +0 -0
  92. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/static/widget.js +0 -0
  93. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/templates/analytics.html +0 -0
  94. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/templates/base.html +0 -0
  95. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/templates/dashboard.html +0 -0
  96. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/templates/generate.html +0 -0
  97. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/templates/index.html +0 -0
  98. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/templates/lesson.html +0 -0
  99. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/templates/profile.html +0 -0
  100. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/templates/settings.html +0 -0
  101. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/templates/stats.html +0 -0
  102. {clawed-2.4.0 → clawed-2.5.1}/clawed/api/templates/students.html +0 -0
  103. {clawed-2.4.0 → clawed-2.5.1}/clawed/assessment.py +0 -0
  104. {clawed-2.4.0 → clawed-2.5.1}/clawed/asset_registry.py +0 -0
  105. {clawed-2.4.0 → clawed-2.5.1}/clawed/async_utils.py +0 -0
  106. {clawed-2.4.0 → clawed-2.5.1}/clawed/auth/__init__.py +0 -0
  107. {clawed-2.4.0 → clawed-2.5.1}/clawed/auth/google_auth.py +0 -0
  108. {clawed-2.4.0 → clawed-2.5.1}/clawed/bot_state.py +0 -0
  109. {clawed-2.4.0 → clawed-2.5.1}/clawed/chat.py +0 -0
  110. {clawed-2.4.0 → clawed-2.5.1}/clawed/cli_chat.py +0 -0
  111. {clawed-2.4.0 → clawed-2.5.1}/clawed/commands/__init__.py +0 -0
  112. {clawed-2.4.0 → clawed-2.5.1}/clawed/commands/_helpers.py +0 -0
  113. {clawed-2.4.0 → clawed-2.5.1}/clawed/commands/bot.py +0 -0
  114. {clawed-2.4.0 → clawed-2.5.1}/clawed/commands/config.py +0 -0
  115. {clawed-2.4.0 → clawed-2.5.1}/clawed/commands/config_llm.py +0 -0
  116. {clawed-2.4.0 → clawed-2.5.1}/clawed/commands/config_profile.py +0 -0
  117. {clawed-2.4.0 → clawed-2.5.1}/clawed/commands/export.py +0 -0
  118. {clawed-2.4.0 → clawed-2.5.1}/clawed/commands/generate_assessment.py +0 -0
  119. {clawed-2.4.0 → clawed-2.5.1}/clawed/commands/generate_unit.py +0 -0
  120. {clawed-2.4.0 → clawed-2.5.1}/clawed/commands/queue.py +0 -0
  121. {clawed-2.4.0 → clawed-2.5.1}/clawed/commands/schedule_cmd.py +0 -0
  122. {clawed-2.4.0 → clawed-2.5.1}/clawed/commands/sub.py +0 -0
  123. {clawed-2.4.0 → clawed-2.5.1}/clawed/commands/workspace_cmd.py +0 -0
  124. {clawed-2.4.0 → clawed-2.5.1}/clawed/compile_slides.py +0 -0
  125. {clawed-2.4.0 → clawed-2.5.1}/clawed/compile_student.py +0 -0
  126. {clawed-2.4.0 → clawed-2.5.1}/clawed/compile_teacher.py +0 -0
  127. {clawed-2.4.0 → clawed-2.5.1}/clawed/config.py +0 -0
  128. {clawed-2.4.0 → clawed-2.5.1}/clawed/corpus.py +0 -0
  129. {clawed-2.4.0 → clawed-2.5.1}/clawed/curriculum_map.py +0 -0
  130. {clawed-2.4.0 → clawed-2.5.1}/clawed/database.py +0 -0
  131. {clawed-2.4.0 → clawed-2.5.1}/clawed/demo/__init__.py +0 -0
  132. {clawed-2.4.0 → clawed-2.5.1}/clawed/demo/demo_assessment.json +0 -0
  133. {clawed-2.4.0 → clawed-2.5.1}/clawed/demo/demo_formative_assessment.json +0 -0
  134. {clawed-2.4.0 → clawed-2.5.1}/clawed/demo/demo_lesson_materials.json +0 -0
  135. {clawed-2.4.0 → clawed-2.5.1}/clawed/demo/demo_lesson_science_g6.json +0 -0
  136. {clawed-2.4.0 → clawed-2.5.1}/clawed/demo/demo_lesson_social_studies_g8.json +0 -0
  137. {clawed-2.4.0 → clawed-2.5.1}/clawed/demo/demo_master_content.json +0 -0
  138. {clawed-2.4.0 → clawed-2.5.1}/clawed/demo/demo_pacing_guide.json +0 -0
  139. {clawed-2.4.0 → clawed-2.5.1}/clawed/demo/demo_quiz.json +0 -0
  140. {clawed-2.4.0 → clawed-2.5.1}/clawed/demo/demo_rubric.json +0 -0
  141. {clawed-2.4.0 → clawed-2.5.1}/clawed/demo/demo_unit_plan.json +0 -0
  142. {clawed-2.4.0 → clawed-2.5.1}/clawed/demo/demo_year_map.json +0 -0
  143. {clawed-2.4.0 → clawed-2.5.1}/clawed/differentiation.py +0 -0
  144. {clawed-2.4.0 → clawed-2.5.1}/clawed/doc_export.py +0 -0
  145. {clawed-2.4.0 → clawed-2.5.1}/clawed/drive.py +0 -0
  146. {clawed-2.4.0 → clawed-2.5.1}/clawed/evaluation.py +0 -0
  147. {clawed-2.4.0 → clawed-2.5.1}/clawed/export_docx.py +0 -0
  148. {clawed-2.4.0 → clawed-2.5.1}/clawed/export_handout.py +0 -0
  149. {clawed-2.4.0 → clawed-2.5.1}/clawed/export_markdown.py +0 -0
  150. {clawed-2.4.0 → clawed-2.5.1}/clawed/export_pdf.py +0 -0
  151. {clawed-2.4.0 → clawed-2.5.1}/clawed/export_pptx.py +0 -0
  152. {clawed-2.4.0 → clawed-2.5.1}/clawed/export_templates.py +0 -0
  153. {clawed-2.4.0 → clawed-2.5.1}/clawed/export_theme.py +0 -0
  154. {clawed-2.4.0 → clawed-2.5.1}/clawed/exporter.py +0 -0
  155. {clawed-2.4.0 → clawed-2.5.1}/clawed/failure_codes.py +0 -0
  156. {clawed-2.4.0 → clawed-2.5.1}/clawed/feedback.py +0 -0
  157. {clawed-2.4.0 → clawed-2.5.1}/clawed/formats/__init__.py +0 -0
  158. {clawed-2.4.0 → clawed-2.5.1}/clawed/formats/flipchart.py +0 -0
  159. {clawed-2.4.0 → clawed-2.5.1}/clawed/formats/notebook.py +0 -0
  160. {clawed-2.4.0 → clawed-2.5.1}/clawed/formats/xbk.py +0 -0
  161. {clawed-2.4.0 → clawed-2.5.1}/clawed/gateway.py +0 -0
  162. {clawed-2.4.0 → clawed-2.5.1}/clawed/gateway_response.py +0 -0
  163. {clawed-2.4.0 → clawed-2.5.1}/clawed/generation.py +0 -0
  164. {clawed-2.4.0 → clawed-2.5.1}/clawed/generation_report.py +0 -0
  165. {clawed-2.4.0 → clawed-2.5.1}/clawed/handlers/__init__.py +0 -0
  166. {clawed-2.4.0 → clawed-2.5.1}/clawed/handlers/export.py +0 -0
  167. {clawed-2.4.0 → clawed-2.5.1}/clawed/handlers/feedback.py +0 -0
  168. {clawed-2.4.0 → clawed-2.5.1}/clawed/handlers/gaps.py +0 -0
  169. {clawed-2.4.0 → clawed-2.5.1}/clawed/handlers/generate.py +0 -0
  170. {clawed-2.4.0 → clawed-2.5.1}/clawed/handlers/ingest.py +0 -0
  171. {clawed-2.4.0 → clawed-2.5.1}/clawed/handlers/misc.py +0 -0
  172. {clawed-2.4.0 → clawed-2.5.1}/clawed/handlers/onboard.py +0 -0
  173. {clawed-2.4.0 → clawed-2.5.1}/clawed/handlers/schedule.py +0 -0
  174. {clawed-2.4.0 → clawed-2.5.1}/clawed/handlers/standards.py +0 -0
  175. {clawed-2.4.0 → clawed-2.5.1}/clawed/hermes_plugin.py +0 -0
  176. {clawed-2.4.0 → clawed-2.5.1}/clawed/image_pipeline.py +0 -0
  177. {clawed-2.4.0 → clawed-2.5.1}/clawed/improver.py +0 -0
  178. {clawed-2.4.0 → clawed-2.5.1}/clawed/ingestor.py +0 -0
  179. {clawed-2.4.0 → clawed-2.5.1}/clawed/io.py +0 -0
  180. {clawed-2.4.0 → clawed-2.5.1}/clawed/llm.py +0 -0
  181. {clawed-2.4.0 → clawed-2.5.1}/clawed/master_content.py +0 -0
  182. {clawed-2.4.0 → clawed-2.5.1}/clawed/materials.py +0 -0
  183. {clawed-2.4.0 → clawed-2.5.1}/clawed/mcp_server.py +0 -0
  184. {clawed-2.4.0 → clawed-2.5.1}/clawed/memory_engine.py +0 -0
  185. {clawed-2.4.0 → clawed-2.5.1}/clawed/openclaw_plugin.py +0 -0
  186. {clawed-2.4.0 → clawed-2.5.1}/clawed/parent_comm.py +0 -0
  187. {clawed-2.4.0 → clawed-2.5.1}/clawed/persona.py +0 -0
  188. {clawed-2.4.0 → clawed-2.5.1}/clawed/persona_evolution.py +0 -0
  189. {clawed-2.4.0 → clawed-2.5.1}/clawed/planner.py +0 -0
  190. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/504_accommodations.txt +0 -0
  191. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/admin_lesson_plan.txt +0 -0
  192. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/assessment.txt +0 -0
  193. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/curriculum_gaps.txt +0 -0
  194. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/dbq_assessment.txt +0 -0
  195. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/differentiation.txt +0 -0
  196. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/formative_assessment.txt +0 -0
  197. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/iep_modification.txt +0 -0
  198. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/lesson_plan.txt +0 -0
  199. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/multi_agent_researcher.txt +0 -0
  200. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/multi_agent_reviewer.txt +0 -0
  201. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/pacing_guide.txt +0 -0
  202. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/parent_note.txt +0 -0
  203. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/persona_extract.txt +0 -0
  204. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/quiz.txt +0 -0
  205. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/rubric.txt +0 -0
  206. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/student_packet.txt +0 -0
  207. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/sub_packet.txt +0 -0
  208. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/summative_assessment.txt +0 -0
  209. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/tiered_assignments.txt +0 -0
  210. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/unit_plan.txt +0 -0
  211. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/worksheet.txt +0 -0
  212. {clawed-2.4.0 → clawed-2.5.1}/clawed/prompts/year_map.txt +0 -0
  213. {clawed-2.4.0 → clawed-2.5.1}/clawed/quality.py +0 -0
  214. {clawed-2.4.0 → clawed-2.5.1}/clawed/reading_report.py +0 -0
  215. {clawed-2.4.0 → clawed-2.5.1}/clawed/router.py +0 -0
  216. {clawed-2.4.0 → clawed-2.5.1}/clawed/sanitize.py +0 -0
  217. {clawed-2.4.0 → clawed-2.5.1}/clawed/scheduler.py +0 -0
  218. {clawed-2.4.0 → clawed-2.5.1}/clawed/school.py +0 -0
  219. {clawed-2.4.0 → clawed-2.5.1}/clawed/search.py +0 -0
  220. {clawed-2.4.0 → clawed-2.5.1}/clawed/skills/__init__.py +0 -0
  221. {clawed-2.4.0 → clawed-2.5.1}/clawed/skills/art.py +0 -0
  222. {clawed-2.4.0 → clawed-2.5.1}/clawed/skills/base.py +0 -0
  223. {clawed-2.4.0 → clawed-2.5.1}/clawed/skills/computer_science.py +0 -0
  224. {clawed-2.4.0 → clawed-2.5.1}/clawed/skills/ela.py +0 -0
  225. {clawed-2.4.0 → clawed-2.5.1}/clawed/skills/foreign_language.py +0 -0
  226. {clawed-2.4.0 → clawed-2.5.1}/clawed/skills/history.py +0 -0
  227. {clawed-2.4.0 → clawed-2.5.1}/clawed/skills/library.py +0 -0
  228. {clawed-2.4.0 → clawed-2.5.1}/clawed/skills/math.py +0 -0
  229. {clawed-2.4.0 → clawed-2.5.1}/clawed/skills/music.py +0 -0
  230. {clawed-2.4.0 → clawed-2.5.1}/clawed/skills/physical_education.py +0 -0
  231. {clawed-2.4.0 → clawed-2.5.1}/clawed/skills/science.py +0 -0
  232. {clawed-2.4.0 → clawed-2.5.1}/clawed/skills/social_studies.py +0 -0
  233. {clawed-2.4.0 → clawed-2.5.1}/clawed/skills/special_education.py +0 -0
  234. {clawed-2.4.0 → clawed-2.5.1}/clawed/slide_images.py +0 -0
  235. {clawed-2.4.0 → clawed-2.5.1}/clawed/standards.py +0 -0
  236. {clawed-2.4.0 → clawed-2.5.1}/clawed/state.py +0 -0
  237. {clawed-2.4.0 → clawed-2.5.1}/clawed/state_standards.py +0 -0
  238. {clawed-2.4.0 → clawed-2.5.1}/clawed/student_bot.py +0 -0
  239. {clawed-2.4.0 → clawed-2.5.1}/clawed/student_cli.py +0 -0
  240. {clawed-2.4.0 → clawed-2.5.1}/clawed/student_telegram_bot.py +0 -0
  241. {clawed-2.4.0 → clawed-2.5.1}/clawed/sub_packet.py +0 -0
  242. {clawed-2.4.0 → clawed-2.5.1}/clawed/task_queue.py +0 -0
  243. {clawed-2.4.0 → clawed-2.5.1}/clawed/templates_lib.py +0 -0
  244. {clawed-2.4.0 → clawed-2.5.1}/clawed/tools.py +0 -0
  245. {clawed-2.4.0 → clawed-2.5.1}/clawed/transports/__init__.py +0 -0
  246. {clawed-2.4.0 → clawed-2.5.1}/clawed/transports/cli.py +0 -0
  247. {clawed-2.4.0 → clawed-2.5.1}/clawed/transports/hermes.py +0 -0
  248. {clawed-2.4.0 → clawed-2.5.1}/clawed/transports/openclaw.py +0 -0
  249. {clawed-2.4.0 → clawed-2.5.1}/clawed/transports/student_telegram.py +0 -0
  250. {clawed-2.4.0 → clawed-2.5.1}/clawed/transports/telegram.py +0 -0
  251. {clawed-2.4.0 → clawed-2.5.1}/clawed/transports/web.py +0 -0
  252. {clawed-2.4.0 → clawed-2.5.1}/clawed/tui.py +0 -0
  253. {clawed-2.4.0 → clawed-2.5.1}/clawed/tui_chat.py +0 -0
  254. {clawed-2.4.0 → clawed-2.5.1}/clawed/validation.py +0 -0
  255. {clawed-2.4.0 → clawed-2.5.1}/clawed/voice.py +0 -0
  256. {clawed-2.4.0 → clawed-2.5.1}/clawed/voice_check.py +0 -0
  257. {clawed-2.4.0 → clawed-2.5.1}/clawed/workspace.py +0 -0
  258. {clawed-2.4.0 → clawed-2.5.1}/eduagent/__init__.py +0 -0
  259. {clawed-2.4.0 → clawed-2.5.1}/eduagent/_compat.py +0 -0
@@ -40,3 +40,9 @@ htmlcov/
40
40
 
41
41
  # Build prompts (internal)
42
42
  BUILD_PROMPT.md
43
+
44
+ # Local utility scripts
45
+ check_jon.py
46
+ check_db.py
47
+ update_jon_persona.py
48
+ output/
clawed-2.5.1/PKG-INFO ADDED
@@ -0,0 +1,389 @@
1
+ Metadata-Version: 2.4
2
+ Name: clawed
3
+ Version: 2.5.1
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
+ Project-URL: Homepage, https://sirhanmacx.github.io/Claw-ED
6
+ Project-URL: Documentation, https://github.com/SirhanMacx/Claw-ED#readme
7
+ Project-URL: Repository, https://github.com/SirhanMacx/Claw-ED
8
+ Project-URL: Bug Tracker, https://github.com/SirhanMacx/Claw-ED/issues
9
+ Project-URL: Changelog, https://github.com/SirhanMacx/Claw-ED/blob/main/CHANGELOG.md
10
+ Project-URL: PyPI, https://pypi.org/project/clawed/
11
+ Author: Jon Maccarello & Claw-ED contributors
12
+ License-Expression: MIT
13
+ License-File: LICENSE
14
+ Keywords: ai,ai-for-teachers,claw-ed,clawed,curriculum,edtech,education,hermes-agent,k12,lesson-plan-generator,lesson-planner,lesson-planning,lesson-plans,open-source-education,pedagogy,teacher-tools,teachers,teaching,teaching-assistant
15
+ Classifier: Development Status :: 3 - Alpha
16
+ Classifier: Environment :: Console
17
+ Classifier: Intended Audience :: Education
18
+ Classifier: License :: OSI Approved :: MIT License
19
+ Classifier: Operating System :: OS Independent
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Programming Language :: Python :: 3.10
22
+ Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
24
+ Classifier: Topic :: Education
25
+ Classifier: Topic :: Education :: Computer Aided Instruction (CAI)
26
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
27
+ Requires-Python: >=3.10
28
+ Requires-Dist: apscheduler<4.0,>=3.10.0
29
+ Requires-Dist: fastapi<1.0,>=0.110.0
30
+ Requires-Dist: httpx<1.0,>=0.25.0
31
+ Requires-Dist: jinja2>=3.1.0
32
+ Requires-Dist: json-repair>=0.30.0
33
+ Requires-Dist: lxml>=4.9.0
34
+ Requires-Dist: mcp>=1.0.0
35
+ Requires-Dist: pydantic<3.0,>=2.0.0
36
+ Requires-Dist: pymupdf>=1.23.0
37
+ Requires-Dist: python-docx>=1.0.0
38
+ Requires-Dist: python-multipart>=0.0.6
39
+ Requires-Dist: python-pptx>=0.6.21
40
+ Requires-Dist: pyyaml<7.0,>=6.0
41
+ Requires-Dist: reportlab>=4.0.0
42
+ Requires-Dist: rich>=13.0.0
43
+ Requires-Dist: sse-starlette>=1.6.0
44
+ Requires-Dist: typer<1.0,>=0.9.0
45
+ Requires-Dist: uvicorn[standard]>=0.27.0
46
+ Provides-Extra: all
47
+ Requires-Dist: faster-whisper>=0.10.0; extra == 'all'
48
+ Requires-Dist: keyring>=24.0.0; extra == 'all'
49
+ Requires-Dist: onnxruntime>=1.16.0; extra == 'all'
50
+ Requires-Dist: qrcode[pil]>=7.0; extra == 'all'
51
+ Requires-Dist: textual>=0.56.0; extra == 'all'
52
+ Requires-Dist: uvicorn[standard]>=0.27.0; extra == 'all'
53
+ Provides-Extra: dev
54
+ Requires-Dist: apscheduler<4.0,>=3.10.0; extra == 'dev'
55
+ Requires-Dist: faster-whisper>=0.10.0; extra == 'dev'
56
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
57
+ Requires-Dist: pytest-cov>=4.0; extra == 'dev'
58
+ Requires-Dist: pytest>=7.0.0; extra == 'dev'
59
+ Requires-Dist: ruff>=0.1.0; extra == 'dev'
60
+ Provides-Extra: google
61
+ Requires-Dist: google-api-python-client>=2.0.0; extra == 'google'
62
+ Requires-Dist: google-auth-oauthlib>=1.0.0; extra == 'google'
63
+ Provides-Extra: keyring
64
+ Requires-Dist: keyring>=24.0.0; extra == 'keyring'
65
+ Provides-Extra: memory
66
+ Requires-Dist: onnxruntime>=1.16.0; extra == 'memory'
67
+ Provides-Extra: pdf
68
+ Requires-Dist: weasyprint>=60.0; extra == 'pdf'
69
+ Provides-Extra: qr
70
+ Requires-Dist: qrcode[pil]>=7.0; extra == 'qr'
71
+ Provides-Extra: tui
72
+ Requires-Dist: textual>=0.56.0; extra == 'tui'
73
+ Provides-Extra: voice
74
+ Requires-Dist: faster-whisper>=0.10.0; extra == 'voice'
75
+ Description-Content-Type: text/markdown
76
+
77
+ # Claw-ED
78
+
79
+ **Your AI co-teacher. Learns your voice. Generates lessons that sound like you wrote them.**
80
+
81
+ <p align="center">
82
+ <a href="https://pypi.org/project/clawed/"><img src="https://img.shields.io/pypi/v/clawed?color=blue" alt="PyPI version"></a>
83
+ <a href="https://pypi.org/project/clawed/"><img src="https://img.shields.io/pypi/pyversions/clawed" alt="Python versions"></a>
84
+ <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-green" alt="MIT License"></a>
85
+ <a href="https://github.com/SirhanMacx/Claw-ED/stargazers"><img src="https://img.shields.io/github/stars/SirhanMacx/Claw-ED" alt="GitHub stars"></a>
86
+ <a href="https://pepy.tech/project/clawed"><img src="https://static.pepy.tech/badge/clawed" alt="Downloads"></a>
87
+ </p>
88
+
89
+ ---
90
+
91
+ Claw-ED is an open-source AI teaching assistant that learns your actual teaching style from your curriculum files. Not a generic lesson template generator — a personal agent that captures your voice, your scaffolding patterns, your assessment style, and your classroom personality. It generates complete lesson packages that your colleagues would swear you wrote yourself.
92
+
93
+ ```bash
94
+ pip install clawed
95
+ ```
96
+
97
+ ---
98
+
99
+ ## For Teachers
100
+
101
+ **Feed it your files. Get lessons in your voice.**
102
+
103
+ ```bash
104
+ clawed ingest ~/Documents/Lessons/ # Teach it your style
105
+ clawed lesson "The Missouri Compromise" -g 8 -s "US History" # Generate a lesson
106
+ ```
107
+
108
+ Claw-ED reads your existing lesson plans, handouts, slideshows, and assessments. It extracts your pedagogical fingerprint: how you structure a Do Now, what graphic organizers you use, how you scaffold for ELL and IEP students, your favorite primary source types, your questioning patterns, your signature teaching moves.
109
+
110
+ Then it generates new lessons that match. Not "inspired by" — actually match. Same structure, same voice, same scaffolding, same assessment alignment.
111
+
112
+ **What you get:**
113
+
114
+ - Complete daily lesson plans in your format (DOCX, PPTX, PDF)
115
+ - Unit plans with essential questions and pacing
116
+ - Assessments aligned to your state standards (50 states supported)
117
+ - Differentiated materials for ELL, IEP, and gifted students
118
+ - Homework, rubrics, sub plans, parent communications
119
+ - Gap analysis showing what standards you haven't covered
120
+ - Morning prep that runs before you wake up
121
+
122
+ **What makes it different:**
123
+
124
+ - **Your voice, not generic AI.** Lessons sound like you, not like a chatbot.
125
+ - **Your files stay on your machine.** Local-first architecture. No accounts, no subscriptions, no data collection.
126
+ - **Works with any AI provider.** Claude, GPT, Gemini, Ollama (free local models), or your own fine-tuned model.
127
+ - **Gets better over time.** Rate lessons, give feedback — it learns what you want.
128
+ - **Open source.** MIT license. Free forever.
129
+
130
+ ---
131
+
132
+ ## Quick Start
133
+
134
+ ```bash
135
+ # Install
136
+ pip install clawed
137
+
138
+ # First run — picks your AI provider and creates your workspace
139
+ clawed
140
+
141
+ # Feed it your curriculum files (PDF, DOCX, PPTX, and 20+ formats)
142
+ clawed ingest ~/Documents/Lessons/
143
+
144
+ # Generate
145
+ clawed lesson "Causes of World War I" -g 10 -s "Global History"
146
+ clawed unit "The Renaissance" -g 9 -s "Global History" -w 3
147
+ clawed full "Westward Expansion" -g 8 -s "US History"
148
+ ```
149
+
150
+ ---
151
+
152
+ ## How It Works
153
+
154
+ ```
155
+ Your curriculum files (PDF, DOCX, PPTX, and 20+ formats)
156
+ |
157
+ v
158
+ Claw-ED learns your teaching style
159
+ - Extracts your voice, structure, vocabulary
160
+ - Maps your pedagogical fingerprint
161
+ - Builds a searchable knowledge base
162
+ |
163
+ v
164
+ You talk naturally
165
+ "Prep my week"
166
+ "Make a quiz on chapter 5"
167
+ "What standards haven't I covered?"
168
+ |
169
+ v
170
+ The agent acts
171
+ - Searches your existing materials first
172
+ - Generates in your voice
173
+ - Exports professional documents
174
+ - Aligns to your state standards
175
+ |
176
+ v
177
+ You teach, give feedback, it improves
178
+ ```
179
+
180
+ ---
181
+
182
+ ## Commands
183
+
184
+ | Command | What it does |
185
+ |---------|-------------|
186
+ | `clawed` | Chat with your agent |
187
+ | `clawed ingest <path>` | Teach it your style from your files |
188
+ | `clawed lesson "Topic" -g 8 -s "Subject"` | Generate a daily lesson plan |
189
+ | `clawed lesson "Topic" --multi-agent` | Multi-agent generation (higher quality) |
190
+ | `clawed unit "Topic" -g 9 -w 3` | Plan a 3-week unit |
191
+ | `clawed full "Topic" -g 10` | Full package: unit + lessons + materials |
192
+ | `clawed materials -l lesson.json` | Generate supporting materials |
193
+ | `clawed assess "Topic" --type dbq` | Generate assessments (DBQ, quiz, rubric) |
194
+ | `clawed differentiate -l lesson.json` | Create IEP/504/ELL modifications |
195
+ | `clawed standards list -g 8 -s "Math"` | Browse state standards |
196
+ | `clawed gap-analyze` | Find curriculum gaps |
197
+ | `clawed train --benchmark -n 5` | Score lesson quality |
198
+ | `clawed bot --token TOKEN` | Connect Telegram bot |
199
+ | `clawed serve` | Web dashboard |
200
+ | `clawed mcp-server` | MCP server (for Claude Code integration) |
201
+ | `clawed game create "Topic" -g 8` | Generate an interactive HTML learning game |
202
+ | `clawed game create "Topic" --style "escape room"` | Game with specific style |
203
+ | `clawed game create "Topic" --students "they love Minecraft"` | Game matching student interests |
204
+ | `clawed game gallery` | View all your generated games |
205
+ | `clawed demo` | Try it without an API key |
206
+
207
+ ---
208
+
209
+ ## Features
210
+
211
+ ### Voice Learning
212
+
213
+ Claw-ED doesn't use a generic "teacher tone." It extracts your specific patterns from your files:
214
+
215
+ - **Teaching structure:** How you organize lessons (I Do / We Do / You Do, stations, jigsaw, etc.)
216
+ - **Questioning style:** Your progression from recall to analysis to evaluation
217
+ - **Scaffolding moves:** Sentence starters, graphic organizers, writing frames you actually use
218
+ - **Assessment patterns:** Your Do Now format, exit ticket style, essay scaffolds
219
+ - **Classroom personality:** Your humor, your catchphrases, your signature moves
220
+
221
+ ### Standards Alignment
222
+
223
+ Built-in support for all 50 US states:
224
+
225
+ - Common Core (CCSS) — Math and ELA
226
+ - Next Generation Science Standards (NGSS)
227
+ - C3 Framework — Social Studies
228
+ - State-specific frameworks (NY NGLS, TX TEKS, CA CCSS, VA SOL, and more)
229
+ - Automatic gap analysis against your state's standards
230
+
231
+ ### Multi-Agent Generation
232
+
233
+ For higher-quality output, the `--multi-agent` flag activates a three-agent pipeline:
234
+
235
+ 1. **Researcher** — Finds primary sources, historical context, and key arguments
236
+ 2. **Writer** — Drafts the lesson in your voice using your pedagogical fingerprint
237
+ 3. **Reviewer** — Scores voice fidelity, pedagogy, and differentiation. Sends back for revision if quality is below threshold.
238
+
239
+ ### Professional Export
240
+
241
+ - **DOCX** — Print-ready with headers, differentiation callouts, and images
242
+ - **PPTX** — Themed slideshows with section dividers and academic images
243
+ - **PDF** — Clean layout for distribution
244
+ - **Google Docs/Slides** — Direct export via Google Drive integration
245
+
246
+ ### Differentiation
247
+
248
+ Every lesson can be automatically differentiated:
249
+
250
+ - **ELL support:** Simplified vocabulary, sentence frames, visual organizers
251
+ - **IEP modifications:** Chunked tasks, explicit instructions, modified assessments
252
+ - **504 accommodations:** Extended time, preferential seating, scribe access
253
+ - **Gifted extensions:** Deeper inquiry, independent research, cross-topic connections
254
+
255
+ ### Interactive Learning Games
256
+
257
+ Every lesson can generate an interactive HTML game as an extension activity:
258
+
259
+ ```bash
260
+ clawed game create "The Missouri Compromise" -g 8 -s "US History"
261
+ clawed game create "Photosynthesis" -g 6 --students "they love Minecraft"
262
+ clawed game create "The Renaissance" -g 9 --style "escape room"
263
+ ```
264
+
265
+ Every game is unique — the AI designs the mechanic, visuals, and interaction from scratch based on the lesson content and your students' interests. No templates. Games are single-file HTML that works on phones, Chromebooks, and any browser.
266
+
267
+ Browse community games: [Game Gallery](https://sirhanmacx.github.io/Claw-ED/games)
268
+
269
+ ### Autonomous Operation
270
+
271
+ Claw-ED can work while you sleep:
272
+
273
+ - **Morning prep** — Drafts today's materials before you wake up
274
+ - **Weekly planning** — Assembles next week's lessons on Sunday evening
275
+ - **Continuous improvement** — Ingests new files, refines your persona, measures quality
276
+ - **Telegram bot** — Message it from your phone anytime
277
+
278
+ ---
279
+
280
+ ## Architecture
281
+
282
+ ```
283
+ Teacher (Telegram, CLI, Web, MCP)
284
+ |
285
+ Gateway (feature-flag router)
286
+ |-- Control Plane (deterministic: files, onboarding, export)
287
+ |-- Agent Loop (LLM with 28 typed tools)
288
+ | |
289
+ Tool Registry Workspace
290
+ - generate_lesson - SOUL.md (identity)
291
+ - search_materials - HEARTBEAT.md (schedule)
292
+ - generate_assessment - Memory (3-layer cognitive)
293
+ - curriculum_map |
294
+ - export_document Curriculum KB
295
+ - 23 more tools (semantic search over your files)
296
+ |
297
+ Professional exports (DOCX, PPTX, PDF, Google Docs)
298
+ ```
299
+
300
+ **Key design decisions:**
301
+
302
+ - **Agent-first.** Natural language goes through an LLM that decides which tools to call. No rigid command parsing.
303
+ - **Master Content Track.** One LLM generation produces a unified `MasterContent` object. Teacher view, student packet, and slideshow are compiled mechanically — no redundant AI calls.
304
+ - **Fail-closed quality gates.** Every generation is validated. If quality review crashes, it reports failure instead of silently passing.
305
+ - **Subject-specific skills.** 13 built-in subject skills (Math, Science, History, ELA, Music, Art, PE, CS, Foreign Language, Library, Special Ed, and more) tune the generation for each discipline's pedagogy.
306
+
307
+ ---
308
+
309
+ ## Privacy
310
+
311
+ - **Local-first.** Your files stay on your machine. The knowledge base is a local database.
312
+ - **API keys in OS keychain.** macOS Keychain, Linux Secret Service, Windows Credential Manager.
313
+ - **No telemetry, no data collection, no accounts.**
314
+ - **Your choice of AI provider.** Use free local models (Ollama) for complete privacy, or cloud providers (Claude, GPT, Gemini) for maximum quality.
315
+
316
+ ---
317
+
318
+ ## For Developers
319
+
320
+ ### Contributing
321
+
322
+ ```bash
323
+ git clone https://github.com/SirhanMacx/Claw-ED.git
324
+ cd Claw-ED
325
+ pip install -e ".[dev]"
326
+ pytest tests/
327
+ ```
328
+
329
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for development guidelines and [ARCHITECTURE.md](docs/ARCHITECTURE.md) for system design.
330
+
331
+ ### MCP Server
332
+
333
+ Claw-ED exposes its tools as an MCP server for integration with Claude Code, VS Code, and other AI-powered editors:
334
+
335
+ ```bash
336
+ clawed mcp-server
337
+ ```
338
+
339
+ ### Custom Tools
340
+
341
+ Define custom tools in `~/.eduagent/tools/` using YAML templates — no code required:
342
+
343
+ ```yaml
344
+ name: bell_ringer
345
+ description: Generate a warm-up question for the start of class
346
+ parameters:
347
+ topic: string
348
+ grade: string
349
+ prompt: |
350
+ Generate a bell ringer question about {topic} for grade {grade}.
351
+ Use a visual stimulus or thought experiment. Never use recall questions.
352
+ ```
353
+
354
+ ### API
355
+
356
+ ```python
357
+ from clawed.lesson import generate_lesson
358
+ from clawed.models import AppConfig
359
+
360
+ config = AppConfig.load()
361
+ lesson = await generate_lesson(
362
+ lesson_number=1,
363
+ unit=unit_plan,
364
+ persona=persona,
365
+ config=config,
366
+ )
367
+ ```
368
+
369
+ ---
370
+
371
+ ## Community
372
+
373
+ Claw-ED is built by a teacher for teachers. Join the conversation:
374
+
375
+ - **[GitHub Discussions](https://github.com/SirhanMacx/Claw-ED/discussions)** — share how you use Claw-ED, request features, ask questions
376
+ - **[Report issues](https://github.com/SirhanMacx/Claw-ED/issues)** — bugs, feature requests, quality feedback
377
+ - **[Star the repo](https://github.com/SirhanMacx/Claw-ED)** — it helps other teachers find us
378
+
379
+ 14,000+ installs and growing. If Claw-ED saved you prep time, tell a colleague.
380
+
381
+ ---
382
+
383
+ ## License
384
+
385
+ MIT License. Free for personal and commercial use.
386
+
387
+ Built by educators, for educators.
388
+
389
+ [GitHub](https://github.com/SirhanMacx/Claw-ED) | [PyPI](https://pypi.org/project/clawed/) | [Discussions](https://github.com/SirhanMacx/Claw-ED/discussions) | [Changelog](CHANGELOG.md)