clsplusplus 7.4.0__tar.gz → 7.4.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 (188) hide show
  1. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/PKG-INFO +1 -1
  2. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/pyproject.toml +1 -1
  3. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/__init__.py +9 -1
  4. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus.egg-info/PKG-INFO +1 -1
  5. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/LICENSE +0 -0
  6. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/README.md +0 -0
  7. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/setup.cfg +0 -0
  8. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/abuse_guard.py +0 -0
  9. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/api.py +0 -0
  10. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/api_usage_analytics.py +0 -0
  11. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/auth.py +0 -0
  12. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/cli.py +0 -0
  13. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/client.py +0 -0
  14. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/config.py +0 -0
  15. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/cost_forecast.py +0 -0
  16. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/cost_model.py +0 -0
  17. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/debug_console.py +0 -0
  18. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/demo_llm.py +0 -0
  19. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/demo_llm_calls.py +0 -0
  20. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/demo_local.py +0 -0
  21. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/durable_log/__init__.py +0 -0
  22. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/durable_log/file_wal.py +0 -0
  23. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/durable_log/manager.py +0 -0
  24. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/durable_log/record.py +0 -0
  25. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/durable_log/replicas.py +0 -0
  26. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/email_service.py +0 -0
  27. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/embeddings.py +0 -0
  28. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/funnel_routes.py +0 -0
  29. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/geo.py +0 -0
  30. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/health_metrics.py +0 -0
  31. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/homepage_autopromote.py +0 -0
  32. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/idempotency.py +0 -0
  33. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/integration_service.py +0 -0
  34. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/integrations/__init__.py +0 -0
  35. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/integrations/autogen.py +0 -0
  36. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/integrations/crewai.py +0 -0
  37. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/integrations/langgraph.py +0 -0
  38. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/integrations/llamaindex.py +0 -0
  39. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/jwt_utils.py +0 -0
  40. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/local_routes.py +0 -0
  41. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/login_activity.py +0 -0
  42. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/main.py +0 -0
  43. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/mcp_http.py +0 -0
  44. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/mcp_server.py +0 -0
  45. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/memory_cycle.py +0 -0
  46. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/memory_phase.py +0 -0
  47. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/memory_service.py +0 -0
  48. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/metering_v2/__init__.py +0 -0
  49. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/metering_v2/__main__.py +0 -0
  50. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/metering_v2/billing.py +0 -0
  51. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/metering_v2/healthcheck.py +0 -0
  52. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/metering_v2/notifier.py +0 -0
  53. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/metering_v2/pricing.py +0 -0
  54. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/metering_v2/reconciler.py +0 -0
  55. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/metering_v2/schema.py +0 -0
  56. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/metering_v2/writer.py +0 -0
  57. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/metrics.py +0 -0
  58. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/middleware.py +0 -0
  59. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/models.py +0 -0
  60. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/namespace_resolver.py +0 -0
  61. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/oauth_server.py +0 -0
  62. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/permissions.py +0 -0
  63. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/plasticity.py +0 -0
  64. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/pricing.py +0 -0
  65. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/pricing_models.py +0 -0
  66. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/pricing_store.py +0 -0
  67. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/prompt_log.py +0 -0
  68. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/rate_limit.py +0 -0
  69. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/razorpay_service.py +0 -0
  70. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/rbac_service.py +0 -0
  71. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/reconsolidation.py +0 -0
  72. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/resilience.py +0 -0
  73. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/sleep_cycle.py +0 -0
  74. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/stores/__init__.py +0 -0
  75. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/stores/base.py +0 -0
  76. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/stores/chat_session_store.py +0 -0
  77. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/stores/integration_store.py +0 -0
  78. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/stores/l0_working_buffer.py +0 -0
  79. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/stores/l1_indexing_store.py +0 -0
  80. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/stores/l2_schema_graph.py +0 -0
  81. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/stores/l3_deep_recess.py +0 -0
  82. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/stores/l3_postgres.py +0 -0
  83. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/stores/oauth_store.py +0 -0
  84. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/stores/rbac_store.py +0 -0
  85. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/stores/user_store.py +0 -0
  86. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/stores/waitlist_store.py +0 -0
  87. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/stores/web_events_store.py +0 -0
  88. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/stripe_service.py +0 -0
  89. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/subscription_watchdog.py +0 -0
  90. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/temporal.py +0 -0
  91. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/test_suite.py +0 -0
  92. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/tier_resolver.py +0 -0
  93. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/tiers.py +0 -0
  94. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/topical_resonance.py +0 -0
  95. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/tracer.py +0 -0
  96. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/usage.py +0 -0
  97. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/user_embeddings.py +0 -0
  98. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/user_pulse.py +0 -0
  99. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/user_service.py +0 -0
  100. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/waitlist_service.py +0 -0
  101. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/webhook_dispatcher.py +0 -0
  102. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/weblab.py +0 -0
  103. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/weblab_watcher.py +0 -0
  104. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/window_limits.py +0 -0
  105. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus/write_metrics.py +0 -0
  106. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus.egg-info/SOURCES.txt +0 -0
  107. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus.egg-info/dependency_links.txt +0 -0
  108. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus.egg-info/entry_points.txt +0 -0
  109. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus.egg-info/requires.txt +0 -0
  110. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/src/clsplusplus.egg-info/top_level.txt +0 -0
  111. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_abuse_guard.py +0 -0
  112. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_admin.py +0 -0
  113. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_admin_integrations_activity.py +0 -0
  114. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_admin_seed.py +0 -0
  115. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_api.py +0 -0
  116. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_api_comprehensive.py +0 -0
  117. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_api_endpoints.py +0 -0
  118. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_api_usage_analytics.py +0 -0
  119. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_auth.py +0 -0
  120. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_auth_me_api_key.py +0 -0
  121. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_autogen_memory.py +0 -0
  122. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_billing_e2e.py +0 -0
  123. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_burst_hardening.py +0 -0
  124. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_client_sdk.py +0 -0
  125. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_config.py +0 -0
  126. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_cost_forecast.py +0 -0
  127. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_crewai_provider.py +0 -0
  128. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_cross_llm_memory.py +0 -0
  129. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_debug_console.py +0 -0
  130. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_demo_llm.py +0 -0
  131. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_durable_log.py +0 -0
  132. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_embeddings.py +0 -0
  133. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_extension_cross_model_runtime.py +0 -0
  134. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_extension_integration.py +0 -0
  135. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_extension_ui.py +0 -0
  136. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_feedback_github.py +0 -0
  137. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_free_tier_lifecycle.py +0 -0
  138. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_full_api_coverage.py +0 -0
  139. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_funnel_metrics.py +0 -0
  140. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_geo_gating.py +0 -0
  141. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_health_metrics.py +0 -0
  142. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_idempotency.py +0 -0
  143. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_integration_service.py +0 -0
  144. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_integration_sync_cli_contract.py +0 -0
  145. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_langgraph_store.py +0 -0
  146. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_llamaindex_block.py +0 -0
  147. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_mcp_connect.py +0 -0
  148. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_mcp_oauth.py +0 -0
  149. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_mem0_failure_modes.py +0 -0
  150. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_memory_cycle.py +0 -0
  151. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_memory_phase.py +0 -0
  152. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_memory_service.py +0 -0
  153. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_memory_write_no_schema_garbage.py +0 -0
  154. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_metering_v2_healthcheck.py +0 -0
  155. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_metering_v2_notifier.py +0 -0
  156. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_metering_v2_pricing.py +0 -0
  157. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_metering_v2_reconciler.py +0 -0
  158. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_metering_v2_schema.py +0 -0
  159. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_metering_v2_writer.py +0 -0
  160. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_middleware.py +0 -0
  161. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_models.py +0 -0
  162. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_overage_billing.py +0 -0
  163. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_performance.py +0 -0
  164. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_plasticity.py +0 -0
  165. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_pricing.py +0 -0
  166. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_prototype_e2e.py +0 -0
  167. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_rate_limit.py +0 -0
  168. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_razorpay_billing.py +0 -0
  169. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_razorpay_subscription_webhooks.py +0 -0
  170. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_reconsolidation.py +0 -0
  171. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_regression.py +0 -0
  172. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_resilience.py +0 -0
  173. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_security.py +0 -0
  174. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_sleep_cycle.py +0 -0
  175. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_stores.py +0 -0
  176. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_subscription_watchdog.py +0 -0
  177. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_tier_resolver.py +0 -0
  178. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_tiers.py +0 -0
  179. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_usage.py +0 -0
  180. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_user_auth.py +0 -0
  181. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_user_embeddings.py +0 -0
  182. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_user_pulse.py +0 -0
  183. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_user_stories.py +0 -0
  184. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_waitlist.py +0 -0
  185. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_webhook_dispatcher.py +0 -0
  186. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_weblab.py +0 -0
  187. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_window_limits.py +0 -0
  188. {clsplusplus-7.4.0 → clsplusplus-7.4.1}/tests/test_write_metrics.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clsplusplus
3
- Version: 7.4.0
3
+ Version: 7.4.1
4
4
  Summary: Brain-inspired, model-agnostic persistent memory for LLMs. Learn, recall, forget — like a brain. Works with OpenAI, Claude, Gemini, Llama.
5
5
  Author-email: AlphaForge AI Labs <contact@alphaforge.ai>
6
6
  Maintainer-email: Rajamohan Jabbala <contact@alphaforge.ai>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "clsplusplus"
7
- version = "7.4.0"
7
+ version = "7.4.1"
8
8
  description = "Brain-inspired, model-agnostic persistent memory for LLMs. Learn, recall, forget — like a brain. Works with OpenAI, Claude, Gemini, Llama."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -15,7 +15,15 @@ Or as module-level functions:
15
15
 
16
16
  from __future__ import annotations
17
17
 
18
- __version__ = "7.0.0"
18
+ # Single source of truth is pyproject.toml: read the installed package version so
19
+ # clsplusplus.__version__ never drifts from what was published. The literal is a
20
+ # fallback for a raw source checkout that was never pip-installed.
21
+ from importlib.metadata import PackageNotFoundError, version as _pkg_version
22
+
23
+ try:
24
+ __version__ = _pkg_version("clsplusplus")
25
+ except PackageNotFoundError: # uninstalled source tree
26
+ __version__ = "7.4.1"
19
27
 
20
28
  __all__ = ["Brain", "learn", "ask", "context", "forget", "CLS", "CLSClient", "__version__"]
21
29
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clsplusplus
3
- Version: 7.4.0
3
+ Version: 7.4.1
4
4
  Summary: Brain-inspired, model-agnostic persistent memory for LLMs. Learn, recall, forget — like a brain. Works with OpenAI, Claude, Gemini, Llama.
5
5
  Author-email: AlphaForge AI Labs <contact@alphaforge.ai>
6
6
  Maintainer-email: Rajamohan Jabbala <contact@alphaforge.ai>
File without changes
File without changes
File without changes