dhee 3.1.0__tar.gz → 3.3.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.
- {dhee-3.1.0 → dhee-3.3.0}/PKG-INFO +44 -4
- {dhee-3.1.0 → dhee-3.3.0}/README.md +43 -3
- {dhee-3.1.0 → dhee-3.3.0}/dhee/__init__.py +1 -1
- {dhee-3.1.0 → dhee-3.3.0}/dhee/cli.py +68 -0
- dhee-3.3.0/dhee/core/belief.py +2012 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/buddhi.py +16 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/cognition_kernel.py +51 -0
- dhee-3.3.0/dhee/debugger_api.py +340 -0
- dhee-3.3.0/dhee/hooks/claude_code/__init__.py +2 -0
- dhee-3.3.0/dhee/hooks/claude_code/__main__.py +256 -0
- dhee-3.3.0/dhee/hooks/claude_code/install.py +173 -0
- dhee-3.3.0/dhee/hooks/claude_code/privacy.py +34 -0
- dhee-3.3.0/dhee/hooks/claude_code/renderer.py +310 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/plugin.py +20 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee.egg-info/PKG-INFO +44 -4
- {dhee-3.1.0 → dhee-3.3.0}/dhee.egg-info/SOURCES.txt +9 -64
- {dhee-3.1.0 → dhee-3.3.0}/dhee.egg-info/entry_points.txt +1 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee.egg-info/top_level.txt +0 -3
- {dhee-3.1.0 → dhee-3.3.0}/pyproject.toml +2 -1
- dhee-3.3.0/tests/test_belief_debugger.py +142 -0
- dhee-3.3.0/tests/test_claude_code_hooks.py +388 -0
- dhee-3.1.0/dhee/core/belief.py +0 -715
- dhee-3.1.0/engram-bridge/demo/demo-app/main.py +0 -65
- dhee-3.1.0/engram-bridge/demo/seed.py +0 -221
- dhee-3.1.0/engram-bridge/engram_bridge/__init__.py +0 -4
- dhee-3.1.0/engram-bridge/engram_bridge/agents/__init__.py +0 -6
- dhee-3.1.0/engram-bridge/engram_bridge/agents/base.py +0 -40
- dhee-3.1.0/engram-bridge/engram_bridge/agents/claude.py +0 -152
- dhee-3.1.0/engram-bridge/engram_bridge/agents/codex.py +0 -119
- dhee-3.1.0/engram-bridge/engram_bridge/agents/custom.py +0 -95
- dhee-3.1.0/engram-bridge/engram_bridge/bridge.py +0 -1856
- dhee-3.1.0/engram-bridge/engram_bridge/channels/__init__.py +0 -6
- dhee-3.1.0/engram-bridge/engram_bridge/channels/base.py +0 -44
- dhee-3.1.0/engram-bridge/engram_bridge/channels/telegram.py +0 -131
- dhee-3.1.0/engram-bridge/engram_bridge/channels/web.py +0 -1785
- dhee-3.1.0/engram-bridge/engram_bridge/config.py +0 -143
- dhee-3.1.0/engram-bridge/engram_bridge/coordination/__init__.py +0 -137
- dhee-3.1.0/engram-bridge/engram_bridge/utils.py +0 -43
- dhee-3.1.0/engram-enterprise/engram_enterprise/__init__.py +0 -20
- dhee-3.1.0/engram-enterprise/engram_enterprise/acceptance.py +0 -142
- dhee-3.1.0/engram-enterprise/engram_enterprise/active_memory.py +0 -406
- dhee-3.1.0/engram-enterprise/engram_enterprise/api/app.py +0 -1026
- dhee-3.1.0/engram-enterprise/engram_enterprise/api/auth.py +0 -76
- dhee-3.1.0/engram-enterprise/engram_enterprise/api/schemas.py +0 -170
- dhee-3.1.0/engram-enterprise/engram_enterprise/api/server.py +0 -34
- dhee-3.1.0/engram-enterprise/engram_enterprise/async_embedder.py +0 -125
- dhee-3.1.0/engram-enterprise/engram_enterprise/async_llm.py +0 -127
- dhee-3.1.0/engram-enterprise/engram_enterprise/async_memory.py +0 -481
- dhee-3.1.0/engram-enterprise/engram_enterprise/async_sqlite.py +0 -448
- dhee-3.1.0/engram-enterprise/engram_enterprise/cli.py +0 -547
- dhee-3.1.0/engram-enterprise/engram_enterprise/client.py +0 -418
- dhee-3.1.0/engram-enterprise/engram_enterprise/context_packer.py +0 -62
- dhee-3.1.0/engram-enterprise/engram_enterprise/dual_search.py +0 -168
- dhee-3.1.0/engram-enterprise/engram_enterprise/episodic_store.py +0 -290
- dhee-3.1.0/engram-enterprise/engram_enterprise/integrations/__init__.py +0 -0
- dhee-3.1.0/engram-enterprise/engram_enterprise/integrations/claude_code.py +0 -532
- dhee-3.1.0/engram-enterprise/engram_enterprise/integrations/openclaw.py +0 -177
- dhee-3.1.0/engram-enterprise/engram_enterprise/invariants.py +0 -110
- dhee-3.1.0/engram-enterprise/engram_enterprise/kernel.py +0 -1792
- dhee-3.1.0/engram-enterprise/engram_enterprise/main_cli.py +0 -455
- dhee-3.1.0/engram-enterprise/engram_enterprise/policy.py +0 -149
- dhee-3.1.0/engram-enterprise/engram_enterprise/provenance.py +0 -40
- dhee-3.1.0/engram-enterprise/engram_enterprise/refcounts.py +0 -45
- dhee-3.1.0/engram-enterprise/engram_enterprise/reranker.py +0 -76
- dhee-3.1.0/engram-enterprise/engram_enterprise/schema.py +0 -230
- dhee-3.1.0/engram-enterprise/engram_enterprise/staging_store.py +0 -97
- dhee-3.1.0/engram-enterprise/tests/test_enterprise.py +0 -117
- dhee-3.1.0/engram-metamemory/engram_metamemory/__init__.py +0 -19
- dhee-3.1.0/engram-metamemory/engram_metamemory/confidence.py +0 -162
- dhee-3.1.0/engram-metamemory/engram_metamemory/config.py +0 -51
- dhee-3.1.0/engram-metamemory/engram_metamemory/mcp_tools.py +0 -118
- dhee-3.1.0/engram-metamemory/engram_metamemory/metamemory.py +0 -346
- dhee-3.1.0/engram-router/engram_router/__init__.py +0 -22
- dhee-3.1.0/engram-router/engram_router/config.py +0 -15
- dhee-3.1.0/engram-router/engram_router/mcp_tools.py +0 -135
- dhee-3.1.0/engram-router/engram_router/registry.py +0 -196
- dhee-3.1.0/engram-router/engram_router/router.py +0 -310
- dhee-3.1.0/engram-warroom/engram_warroom/__init__.py +0 -18
- dhee-3.1.0/engram-warroom/engram_warroom/autopick.py +0 -99
- dhee-3.1.0/engram-warroom/engram_warroom/config.py +0 -17
- dhee-3.1.0/engram-warroom/engram_warroom/decision.py +0 -46
- dhee-3.1.0/engram-warroom/engram_warroom/failover.py +0 -120
- dhee-3.1.0/engram-warroom/engram_warroom/mcp_tools.py +0 -200
- dhee-3.1.0/engram-warroom/engram_warroom/monitor.py +0 -212
- dhee-3.1.0/engram-warroom/engram_warroom/warroom.py +0 -333
- {dhee-3.1.0 → dhee-3.3.0}/LICENSE +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/benchmarks/__init__.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/benchmarks/arc_agi.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/benchmarks/hippocamp.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/benchmarks/longmemeval.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/benchmarks/raw_extractors.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/checkpoint_runtime.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/cli_config.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/cli_mcp.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/cli_setup.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/configs/__init__.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/configs/active.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/configs/base.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/configs/presets.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/__init__.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/alaya.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/answer_orchestration.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/category.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/cognition.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/conflict.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/contrastive.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/decay.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/distillation.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/echo.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/engram.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/engram_extractor.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/enrichment.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/episode.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/episodic_index.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/evolution.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/forgetting.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/fusion.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/graph.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/heuristic.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/intent.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/intention.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/kernel.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/log_parser.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/meta_buddhi.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/pattern_detector.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/policy.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/profile.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/resolvers.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/retrieval.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/samskara.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/scene.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/session_tracker.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/strategy.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/task_state.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/traces.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/trigger.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/core/viveka.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/db/__init__.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/db/sqlite.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/db/sqlite_analytics.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/db/sqlite_common.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/db/sqlite_domains.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/embeddings/__init__.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/embeddings/base.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/embeddings/gemini.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/embeddings/nvidia.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/embeddings/ollama.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/embeddings/openai.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/embeddings/qwen.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/embeddings/simple.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/exceptions.py +0 -0
- {dhee-3.1.0/dhee/llms → dhee-3.3.0/dhee/hooks}/__init__.py +0 -0
- {dhee-3.1.0/dhee/utils → dhee-3.3.0/dhee/llms}/__init__.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/llms/base.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/llms/dhee.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/llms/gemini.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/llms/mock.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/llms/nvidia.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/llms/ollama.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/llms/openai.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/llms/teacher_logger.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/mcp_server.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/mcp_slim.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/memory/__init__.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/memory/base.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/memory/core.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/memory/cost.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/memory/episodic.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/memory/main.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/memory/orchestration.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/memory/parallel.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/memory/projects.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/memory/reranker.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/memory/retrieval_helpers.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/memory/scene_profile.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/memory/scoping.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/memory/search_pipeline.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/memory/smart.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/memory/tasks.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/memory/utils.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/memory/vectors.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/memory/write_pipeline.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/observability.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/simple.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/skills/__init__.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/skills/discovery.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/skills/executor.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/skills/hashing.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/skills/miner.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/skills/outcomes.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/skills/schema.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/skills/store.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/skills/structure.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/skills/trajectory.py +0 -0
- {dhee-3.1.0/dhee/vector_stores → dhee-3.3.0/dhee/utils}/__init__.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/utils/factory.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/utils/math.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/utils/prompts.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/utils/repo_identity.py +0 -0
- {dhee-3.1.0/engram-enterprise/engram_enterprise/api → dhee-3.3.0/dhee/vector_stores}/__init__.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/vector_stores/base.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/vector_stores/memory.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/vector_stores/sqlite_vec.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee/vector_stores/zvec_store.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee.egg-info/dependency_links.txt +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee.egg-info/requires.txt +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dheeModel/__init__.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dheeModel/client.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dheeModel/model/__init__.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dheeModel/model/dhee_model.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dheeModel/training/__init__.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dheeModel/training/data_formatter.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dheeModel/training/karma.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dheeModel/training/nididhyasana.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dheeModel/training/smrti.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dheeModel/training/train.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee_shared/__init__.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/dhee_shared/model_paths.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/engram/__init__.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/engram-bridge/demo/demo-app/demo_app_smoke.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/engram-bus/engram_bus/__init__.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/engram-bus/engram_bus/bus.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/engram-bus/engram_bus/pubsub.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/engram-bus/engram_bus/server.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/engram-bus/engram_bus/store.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/engram-bus/engram_bus/workspace.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/engram-bus/tests/test_bus.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/setup.cfg +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_accel.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_accel_benchmark.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_auto_lifecycle.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_backward_compat.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_batch.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_cognition_evals.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_cognition_kernel.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_cognition_v3.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_core_memory.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_cosine_similarity.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_dedup.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_deferred_enrichment.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_dhee_model_paths.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_distillation.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_e2e_all_features.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_forgetting.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_hashing.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_hippocamp_benchmark.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_intent.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_locomo_plus_runner.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_log_parser.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_mcp_tools_slim.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_memory_types.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_migration.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_miner.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_openclaw.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_orchestration_core.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_parallel.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_power_packages.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_presets.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_profile.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_projects.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_query_cache.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_scene.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_session_tracker.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_simple_zero_config.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_skills.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_smart_memory.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_sqlite_connection_pool.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_sqlite_vec.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_structural.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_structured_resolution.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_tasks.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_traces.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_trajectory.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_unified_enrichment.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_vector_store_factory.py +0 -0
- {dhee-3.1.0 → dhee-3.3.0}/tests/test_zvec_store.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dhee
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.3.0
|
|
4
4
|
Summary: Cognition layer for AI agents — persistent memory, performance tracking, and insight synthesis
|
|
5
5
|
Author: Sankhya AI Labs
|
|
6
6
|
License: MIT
|
|
@@ -75,10 +75,10 @@ Requires-Dist: twine>=5.0.0; extra == "dev"
|
|
|
75
75
|
Dynamic: license-file
|
|
76
76
|
|
|
77
77
|
<p align="center">
|
|
78
|
-
<img src="docs/dhee-logo.png" alt="Dhee" width="80">
|
|
78
|
+
<img src="docs/dhee-logo.png" alt="Dhee" width="80"> <h1 align="center">Dhee</h1>
|
|
79
79
|
</p>
|
|
80
80
|
|
|
81
|
-
|
|
81
|
+
|
|
82
82
|
|
|
83
83
|
<h3 align="center">The cognition layer that turns your agent into a HyperAgent.</h3>
|
|
84
84
|
|
|
@@ -154,12 +154,42 @@ d.context("fixing auth bug")
|
|
|
154
154
|
d.checkpoint("Fixed it", what_worked="git blame first")
|
|
155
155
|
```
|
|
156
156
|
|
|
157
|
+
### Claude Code — Native Hooks (v3.3.0)
|
|
158
|
+
|
|
159
|
+
One command. Every Claude Code session becomes self-evolving.
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
dhee install
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
That's it. Dhee hooks into Claude Code's lifecycle — no CLAUDE.md bloat, no SKILL.md files, no markdown accumulation. Structured XML context injection, budgeted to ~630 tokens regardless of how much memory you have.
|
|
166
|
+
|
|
167
|
+
**What happens automatically:**
|
|
168
|
+
|
|
169
|
+
| Hook | When | What Dhee does |
|
|
170
|
+
|:-----|:-----|:---------------|
|
|
171
|
+
| `SessionStart` | Session opens | Injects last session, insights, performance trends, relevant memories |
|
|
172
|
+
| `UserPromptSubmit` | Every prompt | Surfaces memories relevant to what you just asked |
|
|
173
|
+
| `PostToolUse` | After Edit/Write/Bash | Captures what Claude did (secrets auto-stripped) |
|
|
174
|
+
| `PreCompact` | Before context compaction | Checkpoints state so nothing is lost |
|
|
175
|
+
| `Stop` | Session ends | Records outcomes — what worked, what failed, learnings |
|
|
176
|
+
|
|
177
|
+
Or start Claude Code directly with context:
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
dhee task "fix the flaky auth test"
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
**Why not CLAUDE.md?** Markdown files are static. After 6 months of accumulated knowledge, they rot — stale patterns sit at equal weight to current ones, no retrieval ranking, no forgetting. Dhee uses vector memory with strength-based decay. Relevant memories surface. Irrelevant ones fade. The context budget stays constant at ~630 tokens whether you have 50 memories or 50,000.
|
|
184
|
+
|
|
157
185
|
### CLI
|
|
158
186
|
|
|
159
187
|
```bash
|
|
160
188
|
dhee remember "User prefers Python"
|
|
161
189
|
dhee recall "programming language"
|
|
162
190
|
dhee checkpoint "Fixed auth bug" --what-worked "checked logs"
|
|
191
|
+
dhee install # install Claude Code hooks
|
|
192
|
+
dhee uninstall-hooks # remove them
|
|
163
193
|
```
|
|
164
194
|
|
|
165
195
|
### Docker
|
|
@@ -295,8 +325,18 @@ These are surfaced through `context()` and `checkpoint()` automatically when ena
|
|
|
295
325
|
## Architecture
|
|
296
326
|
|
|
297
327
|
```
|
|
298
|
-
|
|
328
|
+
Claude Code (or any agent)
|
|
299
329
|
│
|
|
330
|
+
├── SessionStart hook ──→ dhee.context() ──→ XML renderer ──→ system prompt injection
|
|
331
|
+
├── UserPromptSubmit ───→ dhee.recall() ──→ ranked memories ──→ per-turn context
|
|
332
|
+
├── PostToolUse ────────→ dhee.remember() ─→ privacy filter ──→ stored (0 LLM)
|
|
333
|
+
├── PreCompact ─────────→ dhee.checkpoint() + re-inject context
|
|
334
|
+
└── Stop ───────────────→ dhee.checkpoint(what_worked, what_failed, outcome_score)
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
The 4-operation API under the hooks:
|
|
338
|
+
|
|
339
|
+
```
|
|
300
340
|
├── remember(content) → Engram: embed + store (0 LLM)
|
|
301
341
|
├── recall(query) → Engram: embed + vector search (0 LLM)
|
|
302
342
|
├── context(task) → Buddhi: performance + insights + intentions + memories
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="docs/dhee-logo.png" alt="Dhee" width="80">
|
|
2
|
+
<img src="docs/dhee-logo.png" alt="Dhee" width="80"> <h1 align="center">Dhee</h1>
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
|
|
6
6
|
|
|
7
7
|
<h3 align="center">The cognition layer that turns your agent into a HyperAgent.</h3>
|
|
8
8
|
|
|
@@ -78,12 +78,42 @@ d.context("fixing auth bug")
|
|
|
78
78
|
d.checkpoint("Fixed it", what_worked="git blame first")
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
+
### Claude Code — Native Hooks (v3.3.0)
|
|
82
|
+
|
|
83
|
+
One command. Every Claude Code session becomes self-evolving.
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
dhee install
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
That's it. Dhee hooks into Claude Code's lifecycle — no CLAUDE.md bloat, no SKILL.md files, no markdown accumulation. Structured XML context injection, budgeted to ~630 tokens regardless of how much memory you have.
|
|
90
|
+
|
|
91
|
+
**What happens automatically:**
|
|
92
|
+
|
|
93
|
+
| Hook | When | What Dhee does |
|
|
94
|
+
|:-----|:-----|:---------------|
|
|
95
|
+
| `SessionStart` | Session opens | Injects last session, insights, performance trends, relevant memories |
|
|
96
|
+
| `UserPromptSubmit` | Every prompt | Surfaces memories relevant to what you just asked |
|
|
97
|
+
| `PostToolUse` | After Edit/Write/Bash | Captures what Claude did (secrets auto-stripped) |
|
|
98
|
+
| `PreCompact` | Before context compaction | Checkpoints state so nothing is lost |
|
|
99
|
+
| `Stop` | Session ends | Records outcomes — what worked, what failed, learnings |
|
|
100
|
+
|
|
101
|
+
Or start Claude Code directly with context:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
dhee task "fix the flaky auth test"
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**Why not CLAUDE.md?** Markdown files are static. After 6 months of accumulated knowledge, they rot — stale patterns sit at equal weight to current ones, no retrieval ranking, no forgetting. Dhee uses vector memory with strength-based decay. Relevant memories surface. Irrelevant ones fade. The context budget stays constant at ~630 tokens whether you have 50 memories or 50,000.
|
|
108
|
+
|
|
81
109
|
### CLI
|
|
82
110
|
|
|
83
111
|
```bash
|
|
84
112
|
dhee remember "User prefers Python"
|
|
85
113
|
dhee recall "programming language"
|
|
86
114
|
dhee checkpoint "Fixed auth bug" --what-worked "checked logs"
|
|
115
|
+
dhee install # install Claude Code hooks
|
|
116
|
+
dhee uninstall-hooks # remove them
|
|
87
117
|
```
|
|
88
118
|
|
|
89
119
|
### Docker
|
|
@@ -219,8 +249,18 @@ These are surfaced through `context()` and `checkpoint()` automatically when ena
|
|
|
219
249
|
## Architecture
|
|
220
250
|
|
|
221
251
|
```
|
|
222
|
-
|
|
252
|
+
Claude Code (or any agent)
|
|
223
253
|
│
|
|
254
|
+
├── SessionStart hook ──→ dhee.context() ──→ XML renderer ──→ system prompt injection
|
|
255
|
+
├── UserPromptSubmit ───→ dhee.recall() ──→ ranked memories ──→ per-turn context
|
|
256
|
+
├── PostToolUse ────────→ dhee.remember() ─→ privacy filter ──→ stored (0 LLM)
|
|
257
|
+
├── PreCompact ─────────→ dhee.checkpoint() + re-inject context
|
|
258
|
+
└── Stop ───────────────→ dhee.checkpoint(what_worked, what_failed, outcome_score)
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
The 4-operation API under the hooks:
|
|
262
|
+
|
|
263
|
+
```
|
|
224
264
|
├── remember(content) → Engram: embed + store (0 LLM)
|
|
225
265
|
├── recall(query) → Engram: embed + vector search (0 LLM)
|
|
226
266
|
├── context(task) → Buddhi: performance + insights + intentions + memories
|
|
@@ -318,6 +318,58 @@ def cmd_uninstall(args: argparse.Namespace) -> None:
|
|
|
318
318
|
print("Cancelled.")
|
|
319
319
|
|
|
320
320
|
|
|
321
|
+
def cmd_task(args: argparse.Namespace) -> None:
|
|
322
|
+
"""Start Claude Code with Dhee cognition hooks."""
|
|
323
|
+
from dhee.hooks.claude_code.install import ensure_installed
|
|
324
|
+
|
|
325
|
+
result = ensure_installed()
|
|
326
|
+
if result.already_installed:
|
|
327
|
+
pass # hooks already in place
|
|
328
|
+
elif result.created or result.updated:
|
|
329
|
+
print(f" Dhee hooks installed → {result.settings_path}")
|
|
330
|
+
|
|
331
|
+
# Find claude executable
|
|
332
|
+
claude_bin = shutil.which("claude")
|
|
333
|
+
if not claude_bin:
|
|
334
|
+
print("Error: 'claude' not found in PATH. Install Claude Code first.", file=sys.stderr)
|
|
335
|
+
sys.exit(1)
|
|
336
|
+
|
|
337
|
+
# Build command
|
|
338
|
+
cmd = [claude_bin]
|
|
339
|
+
if args.print_mode:
|
|
340
|
+
cmd.append("--print")
|
|
341
|
+
if args.description:
|
|
342
|
+
cmd.append(args.description)
|
|
343
|
+
|
|
344
|
+
# Replace current process with claude
|
|
345
|
+
os.execvp(claude_bin, cmd)
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
def cmd_install_hooks(args: argparse.Namespace) -> None:
|
|
349
|
+
"""Install Dhee hooks into Claude Code."""
|
|
350
|
+
from dhee.hooks.claude_code.install import install_hooks
|
|
351
|
+
|
|
352
|
+
result = install_hooks(force=args.force)
|
|
353
|
+
if result.already_installed and not args.force:
|
|
354
|
+
print(" Dhee hooks already installed.")
|
|
355
|
+
else:
|
|
356
|
+
action = "Created" if result.created else "Updated"
|
|
357
|
+
print(f" {action} {result.settings_path}")
|
|
358
|
+
print(f" Hooks: {', '.join(result.events)}")
|
|
359
|
+
if result.backed_up:
|
|
360
|
+
print(f" Backup: {result.backed_up}")
|
|
361
|
+
|
|
362
|
+
|
|
363
|
+
def cmd_uninstall_hooks(args: argparse.Namespace) -> None:
|
|
364
|
+
"""Remove Dhee hooks from Claude Code."""
|
|
365
|
+
from dhee.hooks.claude_code.install import uninstall_hooks
|
|
366
|
+
|
|
367
|
+
if uninstall_hooks():
|
|
368
|
+
print(" Dhee hooks removed.")
|
|
369
|
+
else:
|
|
370
|
+
print(" No Dhee hooks found.")
|
|
371
|
+
|
|
372
|
+
|
|
321
373
|
def cmd_benchmark(args: argparse.Namespace) -> None:
|
|
322
374
|
"""Run performance benchmarks."""
|
|
323
375
|
import time
|
|
@@ -458,6 +510,19 @@ def build_parser() -> argparse.ArgumentParser:
|
|
|
458
510
|
p_status = sub.add_parser("status", help="Show version, config, and agents")
|
|
459
511
|
p_status.add_argument("--json", action="store_true", help="JSON output")
|
|
460
512
|
|
|
513
|
+
# task
|
|
514
|
+
p_task = sub.add_parser("task", help="Start Claude Code with Dhee cognition")
|
|
515
|
+
p_task.add_argument("description", nargs="?", default="", help="Task description")
|
|
516
|
+
p_task.add_argument("--user-id", default="default", help="User ID")
|
|
517
|
+
p_task.add_argument("--print", dest="print_mode", action="store_true", help="One-shot mode")
|
|
518
|
+
|
|
519
|
+
# install (hooks)
|
|
520
|
+
p_install = sub.add_parser("install", help="Install Dhee hooks into Claude Code")
|
|
521
|
+
p_install.add_argument("--force", action="store_true", help="Overwrite existing hooks")
|
|
522
|
+
|
|
523
|
+
# uninstall-hooks
|
|
524
|
+
sub.add_parser("uninstall-hooks", help="Remove Dhee hooks from Claude Code")
|
|
525
|
+
|
|
461
526
|
# benchmark
|
|
462
527
|
sub.add_parser("benchmark", help="Run performance benchmarks")
|
|
463
528
|
|
|
@@ -481,6 +546,9 @@ COMMAND_MAP = {
|
|
|
481
546
|
"export": cmd_export,
|
|
482
547
|
"import": cmd_import,
|
|
483
548
|
"status": cmd_status,
|
|
549
|
+
"task": cmd_task,
|
|
550
|
+
"install": cmd_install_hooks,
|
|
551
|
+
"uninstall-hooks": cmd_uninstall_hooks,
|
|
484
552
|
"benchmark": cmd_benchmark,
|
|
485
553
|
"uninstall": cmd_uninstall,
|
|
486
554
|
}
|