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.
Files changed (230) hide show
  1. {clawed-2.3.1 → clawed-2.3.2}/PKG-INFO +1 -1
  2. {clawed-2.3.1 → clawed-2.3.2}/clawed/__init__.py +1 -1
  3. {clawed-2.3.1 → clawed-2.3.2}/clawed/export_pptx.py +32 -4
  4. {clawed-2.3.1 → clawed-2.3.2}/pyproject.toml +1 -1
  5. {clawed-2.3.1 → clawed-2.3.2}/.gitignore +0 -0
  6. {clawed-2.3.1 → clawed-2.3.2}/LICENSE +0 -0
  7. {clawed-2.3.1 → clawed-2.3.2}/README.md +0 -0
  8. {clawed-2.3.1 → clawed-2.3.2}/clawed/__main__.py +0 -0
  9. {clawed-2.3.1 → clawed-2.3.2}/clawed/_legacy_gateway.py +0 -0
  10. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent.py +0 -0
  11. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/__init__.py +0 -0
  12. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/approvals.py +0 -0
  13. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/autonomy.py +0 -0
  14. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/context.py +0 -0
  15. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/core.py +0 -0
  16. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/custom_tools.py +0 -0
  17. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/drive/__init__.py +0 -0
  18. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/drive/auth.py +0 -0
  19. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/drive/client.py +0 -0
  20. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/fake_llm.py +0 -0
  21. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/loop.py +0 -0
  22. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/memory/__init__.py +0 -0
  23. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/memory/curriculum.py +0 -0
  24. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/memory/curriculum_kb.py +0 -0
  25. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/memory/embeddings.py +0 -0
  26. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/memory/episodes.py +0 -0
  27. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/memory/identity.py +0 -0
  28. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/memory/loader.py +0 -0
  29. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/memory/preferences.py +0 -0
  30. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/planner.py +0 -0
  31. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/prompt.py +0 -0
  32. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/scheduler.py +0 -0
  33. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/__init__.py +0 -0
  34. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/base.py +0 -0
  35. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/configure_profile.py +0 -0
  36. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/curriculum_map.py +0 -0
  37. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/drive_create_doc.py +0 -0
  38. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/drive_create_slides.py +0 -0
  39. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/drive_list.py +0 -0
  40. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/drive_organize.py +0 -0
  41. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/drive_read.py +0 -0
  42. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/drive_upload.py +0 -0
  43. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/export_document.py +0 -0
  44. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/gap_analysis.py +0 -0
  45. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/generate_assessment.py +0 -0
  46. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/generate_lesson.py +0 -0
  47. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/generate_lesson_bundle.py +0 -0
  48. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/generate_materials.py +0 -0
  49. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/generate_unit.py +0 -0
  50. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/ingest_materials.py +0 -0
  51. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/parent_comm.py +0 -0
  52. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/read_heartbeat.py +0 -0
  53. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/read_workspace.py +0 -0
  54. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/request_approval.py +0 -0
  55. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/schedule_task.py +0 -0
  56. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/search_lessons.py +0 -0
  57. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/search_my_materials.py +0 -0
  58. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/search_standards.py +0 -0
  59. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/student_insights.py +0 -0
  60. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/sub_packet.py +0 -0
  61. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/switch_model.py +0 -0
  62. {clawed-2.3.1 → clawed-2.3.2}/clawed/agent_core/tools/update_soul.py +0 -0
  63. {clawed-2.3.1 → clawed-2.3.2}/clawed/analytics.py +0 -0
  64. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/__init__.py +0 -0
  65. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/deps.py +0 -0
  66. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/__init__.py +0 -0
  67. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/chat.py +0 -0
  68. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/export.py +0 -0
  69. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/feedback.py +0 -0
  70. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/gateway_chat.py +0 -0
  71. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/generate.py +0 -0
  72. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/ingest.py +0 -0
  73. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/lessons.py +0 -0
  74. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/school.py +0 -0
  75. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/settings.py +0 -0
  76. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/routes/tools.py +0 -0
  77. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/server.py +0 -0
  78. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/static/app.js +0 -0
  79. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/static/style.css +0 -0
  80. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/static/widget.js +0 -0
  81. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/templates/analytics.html +0 -0
  82. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/templates/base.html +0 -0
  83. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/templates/dashboard.html +0 -0
  84. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/templates/generate.html +0 -0
  85. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/templates/index.html +0 -0
  86. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/templates/lesson.html +0 -0
  87. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/templates/profile.html +0 -0
  88. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/templates/settings.html +0 -0
  89. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/templates/stats.html +0 -0
  90. {clawed-2.3.1 → clawed-2.3.2}/clawed/api/templates/students.html +0 -0
  91. {clawed-2.3.1 → clawed-2.3.2}/clawed/assessment.py +0 -0
  92. {clawed-2.3.1 → clawed-2.3.2}/clawed/asset_registry.py +0 -0
  93. {clawed-2.3.1 → clawed-2.3.2}/clawed/auth/__init__.py +0 -0
  94. {clawed-2.3.1 → clawed-2.3.2}/clawed/auth/google_auth.py +0 -0
  95. {clawed-2.3.1 → clawed-2.3.2}/clawed/bot_state.py +0 -0
  96. {clawed-2.3.1 → clawed-2.3.2}/clawed/chat.py +0 -0
  97. {clawed-2.3.1 → clawed-2.3.2}/clawed/cli.py +0 -0
  98. {clawed-2.3.1 → clawed-2.3.2}/clawed/cli_chat.py +0 -0
  99. {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/__init__.py +0 -0
  100. {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/_helpers.py +0 -0
  101. {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/bot.py +0 -0
  102. {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/config.py +0 -0
  103. {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/config_llm.py +0 -0
  104. {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/config_profile.py +0 -0
  105. {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/export.py +0 -0
  106. {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/generate.py +0 -0
  107. {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/generate_assessment.py +0 -0
  108. {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/generate_unit.py +0 -0
  109. {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/queue.py +0 -0
  110. {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/schedule_cmd.py +0 -0
  111. {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/sub.py +0 -0
  112. {clawed-2.3.1 → clawed-2.3.2}/clawed/commands/workspace_cmd.py +0 -0
  113. {clawed-2.3.1 → clawed-2.3.2}/clawed/config.py +0 -0
  114. {clawed-2.3.1 → clawed-2.3.2}/clawed/corpus.py +0 -0
  115. {clawed-2.3.1 → clawed-2.3.2}/clawed/curriculum_map.py +0 -0
  116. {clawed-2.3.1 → clawed-2.3.2}/clawed/database.py +0 -0
  117. {clawed-2.3.1 → clawed-2.3.2}/clawed/demo/__init__.py +0 -0
  118. {clawed-2.3.1 → clawed-2.3.2}/clawed/demo/demo_assessment.json +0 -0
  119. {clawed-2.3.1 → clawed-2.3.2}/clawed/demo/demo_lesson_science_g6.json +0 -0
  120. {clawed-2.3.1 → clawed-2.3.2}/clawed/demo/demo_lesson_social_studies_g8.json +0 -0
  121. {clawed-2.3.1 → clawed-2.3.2}/clawed/demo/demo_unit_plan.json +0 -0
  122. {clawed-2.3.1 → clawed-2.3.2}/clawed/differentiation.py +0 -0
  123. {clawed-2.3.1 → clawed-2.3.2}/clawed/doc_export.py +0 -0
  124. {clawed-2.3.1 → clawed-2.3.2}/clawed/drive.py +0 -0
  125. {clawed-2.3.1 → clawed-2.3.2}/clawed/evaluation.py +0 -0
  126. {clawed-2.3.1 → clawed-2.3.2}/clawed/export_docx.py +0 -0
  127. {clawed-2.3.1 → clawed-2.3.2}/clawed/export_handout.py +0 -0
  128. {clawed-2.3.1 → clawed-2.3.2}/clawed/export_markdown.py +0 -0
  129. {clawed-2.3.1 → clawed-2.3.2}/clawed/export_pdf.py +0 -0
  130. {clawed-2.3.1 → clawed-2.3.2}/clawed/export_templates.py +0 -0
  131. {clawed-2.3.1 → clawed-2.3.2}/clawed/export_theme.py +0 -0
  132. {clawed-2.3.1 → clawed-2.3.2}/clawed/exporter.py +0 -0
  133. {clawed-2.3.1 → clawed-2.3.2}/clawed/feedback.py +0 -0
  134. {clawed-2.3.1 → clawed-2.3.2}/clawed/formats/__init__.py +0 -0
  135. {clawed-2.3.1 → clawed-2.3.2}/clawed/formats/flipchart.py +0 -0
  136. {clawed-2.3.1 → clawed-2.3.2}/clawed/formats/notebook.py +0 -0
  137. {clawed-2.3.1 → clawed-2.3.2}/clawed/formats/xbk.py +0 -0
  138. {clawed-2.3.1 → clawed-2.3.2}/clawed/gateway.py +0 -0
  139. {clawed-2.3.1 → clawed-2.3.2}/clawed/gateway_response.py +0 -0
  140. {clawed-2.3.1 → clawed-2.3.2}/clawed/generation.py +0 -0
  141. {clawed-2.3.1 → clawed-2.3.2}/clawed/handlers/__init__.py +0 -0
  142. {clawed-2.3.1 → clawed-2.3.2}/clawed/handlers/export.py +0 -0
  143. {clawed-2.3.1 → clawed-2.3.2}/clawed/handlers/feedback.py +0 -0
  144. {clawed-2.3.1 → clawed-2.3.2}/clawed/handlers/gaps.py +0 -0
  145. {clawed-2.3.1 → clawed-2.3.2}/clawed/handlers/generate.py +0 -0
  146. {clawed-2.3.1 → clawed-2.3.2}/clawed/handlers/ingest.py +0 -0
  147. {clawed-2.3.1 → clawed-2.3.2}/clawed/handlers/misc.py +0 -0
  148. {clawed-2.3.1 → clawed-2.3.2}/clawed/handlers/onboard.py +0 -0
  149. {clawed-2.3.1 → clawed-2.3.2}/clawed/handlers/schedule.py +0 -0
  150. {clawed-2.3.1 → clawed-2.3.2}/clawed/handlers/standards.py +0 -0
  151. {clawed-2.3.1 → clawed-2.3.2}/clawed/improver.py +0 -0
  152. {clawed-2.3.1 → clawed-2.3.2}/clawed/ingestor.py +0 -0
  153. {clawed-2.3.1 → clawed-2.3.2}/clawed/io.py +0 -0
  154. {clawed-2.3.1 → clawed-2.3.2}/clawed/lesson.py +0 -0
  155. {clawed-2.3.1 → clawed-2.3.2}/clawed/llm.py +0 -0
  156. {clawed-2.3.1 → clawed-2.3.2}/clawed/materials.py +0 -0
  157. {clawed-2.3.1 → clawed-2.3.2}/clawed/mcp_server.py +0 -0
  158. {clawed-2.3.1 → clawed-2.3.2}/clawed/memory_engine.py +0 -0
  159. {clawed-2.3.1 → clawed-2.3.2}/clawed/model_router.py +0 -0
  160. {clawed-2.3.1 → clawed-2.3.2}/clawed/models.py +0 -0
  161. {clawed-2.3.1 → clawed-2.3.2}/clawed/onboarding.py +0 -0
  162. {clawed-2.3.1 → clawed-2.3.2}/clawed/openclaw_plugin.py +0 -0
  163. {clawed-2.3.1 → clawed-2.3.2}/clawed/parent_comm.py +0 -0
  164. {clawed-2.3.1 → clawed-2.3.2}/clawed/persona.py +0 -0
  165. {clawed-2.3.1 → clawed-2.3.2}/clawed/planner.py +0 -0
  166. {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/504_accommodations.txt +0 -0
  167. {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/admin_lesson_plan.txt +0 -0
  168. {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/assessment.txt +0 -0
  169. {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/curriculum_gaps.txt +0 -0
  170. {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/dbq_assessment.txt +0 -0
  171. {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/differentiation.txt +0 -0
  172. {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/formative_assessment.txt +0 -0
  173. {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/iep_modification.txt +0 -0
  174. {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/lesson_plan.txt +0 -0
  175. {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/pacing_guide.txt +0 -0
  176. {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/parent_note.txt +0 -0
  177. {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/persona_extract.txt +0 -0
  178. {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/quiz.txt +0 -0
  179. {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/rubric.txt +0 -0
  180. {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/student_packet.txt +0 -0
  181. {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/sub_packet.txt +0 -0
  182. {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/summative_assessment.txt +0 -0
  183. {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/tiered_assignments.txt +0 -0
  184. {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/unit_plan.txt +0 -0
  185. {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/worksheet.txt +0 -0
  186. {clawed-2.3.1 → clawed-2.3.2}/clawed/prompts/year_map.txt +0 -0
  187. {clawed-2.3.1 → clawed-2.3.2}/clawed/quality.py +0 -0
  188. {clawed-2.3.1 → clawed-2.3.2}/clawed/reading_report.py +0 -0
  189. {clawed-2.3.1 → clawed-2.3.2}/clawed/router.py +0 -0
  190. {clawed-2.3.1 → clawed-2.3.2}/clawed/sanitize.py +0 -0
  191. {clawed-2.3.1 → clawed-2.3.2}/clawed/scheduler.py +0 -0
  192. {clawed-2.3.1 → clawed-2.3.2}/clawed/school.py +0 -0
  193. {clawed-2.3.1 → clawed-2.3.2}/clawed/search.py +0 -0
  194. {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/__init__.py +0 -0
  195. {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/art.py +0 -0
  196. {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/base.py +0 -0
  197. {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/computer_science.py +0 -0
  198. {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/ela.py +0 -0
  199. {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/foreign_language.py +0 -0
  200. {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/history.py +0 -0
  201. {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/library.py +0 -0
  202. {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/math.py +0 -0
  203. {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/music.py +0 -0
  204. {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/physical_education.py +0 -0
  205. {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/science.py +0 -0
  206. {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/social_studies.py +0 -0
  207. {clawed-2.3.1 → clawed-2.3.2}/clawed/skills/special_education.py +0 -0
  208. {clawed-2.3.1 → clawed-2.3.2}/clawed/slide_images.py +0 -0
  209. {clawed-2.3.1 → clawed-2.3.2}/clawed/standards.py +0 -0
  210. {clawed-2.3.1 → clawed-2.3.2}/clawed/state.py +0 -0
  211. {clawed-2.3.1 → clawed-2.3.2}/clawed/state_standards.py +0 -0
  212. {clawed-2.3.1 → clawed-2.3.2}/clawed/student_bot.py +0 -0
  213. {clawed-2.3.1 → clawed-2.3.2}/clawed/student_cli.py +0 -0
  214. {clawed-2.3.1 → clawed-2.3.2}/clawed/student_telegram_bot.py +0 -0
  215. {clawed-2.3.1 → clawed-2.3.2}/clawed/sub_packet.py +0 -0
  216. {clawed-2.3.1 → clawed-2.3.2}/clawed/task_queue.py +0 -0
  217. {clawed-2.3.1 → clawed-2.3.2}/clawed/templates_lib.py +0 -0
  218. {clawed-2.3.1 → clawed-2.3.2}/clawed/tools.py +0 -0
  219. {clawed-2.3.1 → clawed-2.3.2}/clawed/transports/__init__.py +0 -0
  220. {clawed-2.3.1 → clawed-2.3.2}/clawed/transports/cli.py +0 -0
  221. {clawed-2.3.1 → clawed-2.3.2}/clawed/transports/openclaw.py +0 -0
  222. {clawed-2.3.1 → clawed-2.3.2}/clawed/transports/student_telegram.py +0 -0
  223. {clawed-2.3.1 → clawed-2.3.2}/clawed/transports/telegram.py +0 -0
  224. {clawed-2.3.1 → clawed-2.3.2}/clawed/transports/web.py +0 -0
  225. {clawed-2.3.1 → clawed-2.3.2}/clawed/tui.py +0 -0
  226. {clawed-2.3.1 → clawed-2.3.2}/clawed/tui_chat.py +0 -0
  227. {clawed-2.3.1 → clawed-2.3.2}/clawed/voice.py +0 -0
  228. {clawed-2.3.1 → clawed-2.3.2}/clawed/workspace.py +0 -0
  229. {clawed-2.3.1 → clawed-2.3.2}/eduagent/__init__.py +0 -0
  230. {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.1
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.1"
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[:5]:
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
- run.text = lesson.do_now
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
- run.text = q.question
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
- run.text = lesson.homework
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(
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "clawed"
7
- version = "2.3.1"
7
+ version = "2.3.2"
8
8
  description = "Claw-ED — personal AI teaching agent. Learns your voice, works while you sleep."
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