dasein-core 0.2.13__tar.gz → 0.2.14__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.
- {dasein_core-0.2.13/src/dasein_core.egg-info → dasein_core-0.2.14}/PKG-INFO +1 -1
- {dasein_core-0.2.13 → dasein_core-0.2.14}/pyproject.toml +1 -1
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/api.py +16 -72
- {dasein_core-0.2.13 → dasein_core-0.2.14/src/dasein_core.egg-info}/PKG-INFO +1 -1
- {dasein_core-0.2.13 → dasein_core-0.2.14}/LICENSE +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/MANIFEST.in +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/README.md +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/examples/dasein_examples.ipynb +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/setup.cfg +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/setup.py +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/__init__.py +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/advice_format.py +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/capture.py +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/config.py +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/events.py +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/extractors.py +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/injection_strategies.py +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/injector.py +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/microturn.py +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/__init__.py +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/LICENSE +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/LICENSES_SOURCES +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/README.md +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/accuracy.json +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/attribute_ruler/patterns +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/config.cfg +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/lemmatizer/lookups/lookups.bin +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/meta.json +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/ner/cfg +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/ner/model +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/ner/moves +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/parser/cfg +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/parser/model +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/parser/moves +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/senter/cfg +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/senter/model +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/tagger/cfg +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/tagger/model +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/tok2vec/cfg +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/tok2vec/model +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/tokenizer +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/vocab/key2row +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/vocab/lookups.bin +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/vocab/strings.json +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/vocab/vectors +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/en_core_web_sm-3.7.1/vocab/vectors.cfg +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/meta.json +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm-3.7.1.dist-info/LICENSE +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm-3.7.1.dist-info/LICENSES_SOURCES +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm-3.7.1.dist-info/METADATA +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm-3.7.1.dist-info/RECORD +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm-3.7.1.dist-info/WHEEL +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm-3.7.1.dist-info/entry_points.txt +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm-3.7.1.dist-info/top_level.txt +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/pipecleaner.py +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/services/__init__.py +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/services/post_run_client.py +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/services/pre_run_client.py +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/services/service_adapter.py +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/services/service_config.py +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/trace_buffer.py +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/types.py +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/wrappers.py +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein_core.egg-info/SOURCES.txt +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein_core.egg-info/dependency_links.txt +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein_core.egg-info/requires.txt +0 -0
- {dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein_core.egg-info/top_level.txt +0 -0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "dasein-core"
|
7
|
-
version = "0.2.
|
7
|
+
version = "0.2.14"
|
8
8
|
description = "Universal memory for agentic AI. Attach a brain to any LangChain/LangGraph agent in a single line."
|
9
9
|
readme = "README.md"
|
10
10
|
requires-python = ">=3.8"
|
@@ -1759,14 +1759,24 @@ Follow these rules when planning your actions."""
|
|
1759
1759
|
# 1. Search in agent
|
1760
1760
|
agent_llm = self._find_llm_recursively(self._agent, max_depth=5)
|
1761
1761
|
if agent_llm:
|
1762
|
-
|
1762
|
+
# CRITICAL: If this is a DaseinLLMWrapper, we need to patch the INNER LLM for pipecleaner!
|
1763
|
+
# But we skip patching the wrapper itself to avoid double callbacks
|
1764
|
+
if isinstance(agent_llm, DaseinLLMWrapper) and hasattr(agent_llm, '_llm'):
|
1765
|
+
print(f"[DASEIN][WRAPPER] Found DaseinLLMWrapper, patching inner LLM: {type(agent_llm._llm).__name__}")
|
1766
|
+
all_llms.append(('agent_inner', agent_llm._llm))
|
1767
|
+
else:
|
1768
|
+
all_llms.append(('agent', agent_llm))
|
1763
1769
|
|
1764
1770
|
# 2. Search in tools (where Summary LLM lives!)
|
1765
1771
|
if hasattr(self._agent, 'tools'):
|
1766
1772
|
for i, tool in enumerate(self._agent.tools or []):
|
1767
1773
|
tool_llm = self._find_llm_recursively(tool, max_depth=3, path=f"tools[{i}]")
|
1768
1774
|
if tool_llm:
|
1769
|
-
|
1775
|
+
# Skip if it's a DaseinLLMWrapper (already handles callbacks)
|
1776
|
+
if isinstance(tool_llm, DaseinLLMWrapper):
|
1777
|
+
print(f"[DASEIN][WRAPPER] Found DaseinLLMWrapper in tool - skipping")
|
1778
|
+
else:
|
1779
|
+
all_llms.append((f'tool_{i}_{getattr(tool, "name", "unknown")}', tool_llm))
|
1770
1780
|
|
1771
1781
|
print(f"[DASEIN][WRAPPER] Found {len(all_llms)} LLM(s)")
|
1772
1782
|
for location, llm in all_llms:
|
@@ -2050,43 +2060,10 @@ Follow these rules when planning your actions."""
|
|
2050
2060
|
traceback.print_exc()
|
2051
2061
|
|
2052
2062
|
try:
|
2053
|
-
#
|
2054
|
-
#
|
2055
|
-
# So we need to manually inject the callback handler
|
2056
|
-
if meth_name in ['_generate', '_agenerate'] and callback_handler:
|
2057
|
-
if 'run_manager' not in kwargs and hasattr(callback_handler, 'on_llm_start'):
|
2058
|
-
# Manually trigger on_llm_start since no run_manager
|
2059
|
-
import uuid
|
2060
|
-
run_id = uuid.uuid4()
|
2061
|
-
# Extract messages for on_llm_start
|
2062
|
-
messages = args[0] if args else []
|
2063
|
-
prompts = []
|
2064
|
-
for msg in (messages if isinstance(messages, list) else [messages]):
|
2065
|
-
if hasattr(msg, 'content'):
|
2066
|
-
prompts.append(str(msg.content))
|
2067
|
-
else:
|
2068
|
-
prompts.append(str(msg))
|
2069
|
-
|
2070
|
-
# Call on_llm_start
|
2071
|
-
callback_handler.on_llm_start(
|
2072
|
-
serialized={'name': type(self_llm).__name__},
|
2073
|
-
prompts=prompts,
|
2074
|
-
run_id=run_id
|
2075
|
-
)
|
2076
|
-
|
2077
|
-
# Store run_id for on_llm_end
|
2078
|
-
if not hasattr(self_llm, '_dasein_pending_run_ids'):
|
2079
|
-
self_llm._dasein_pending_run_ids = []
|
2080
|
-
self_llm._dasein_pending_run_ids.append(run_id)
|
2081
|
-
|
2063
|
+
# NOTE: Manual callback injection DISABLED - DaseinLLMWrapper handles callbacks
|
2064
|
+
# The patched methods ONLY do pipecleaner deduplication, not callbacks
|
2082
2065
|
result = await orig_method(self_llm, *args, **kwargs)
|
2083
2066
|
|
2084
|
-
# Call on_llm_end if we called on_llm_start
|
2085
|
-
if meth_name in ['_generate', '_agenerate'] and callback_handler:
|
2086
|
-
if hasattr(self_llm, '_dasein_pending_run_ids') and self_llm._dasein_pending_run_ids:
|
2087
|
-
run_id = self_llm._dasein_pending_run_ids.pop(0)
|
2088
|
-
callback_handler.on_llm_end(result, run_id=run_id)
|
2089
|
-
|
2090
2067
|
# 🚨 MICROTURN ENFORCEMENT - DISABLED
|
2091
2068
|
# Microturn can interfere with tool execution, so it's disabled
|
2092
2069
|
# TODO: Re-enable with proper gating if needed for specific use cases
|
@@ -2315,43 +2292,10 @@ Follow these rules when planning your actions."""
|
|
2315
2292
|
traceback.print_exc()
|
2316
2293
|
|
2317
2294
|
try:
|
2318
|
-
#
|
2319
|
-
#
|
2320
|
-
# So we need to manually inject the callback handler
|
2321
|
-
if meth_name in ['_generate', '_agenerate'] and callback_handler:
|
2322
|
-
if 'run_manager' not in kwargs and hasattr(callback_handler, 'on_llm_start'):
|
2323
|
-
# Manually trigger on_llm_start since no run_manager
|
2324
|
-
import uuid
|
2325
|
-
run_id = uuid.uuid4()
|
2326
|
-
# Extract messages for on_llm_start
|
2327
|
-
messages = args[0] if args else []
|
2328
|
-
prompts = []
|
2329
|
-
for msg in (messages if isinstance(messages, list) else [messages]):
|
2330
|
-
if hasattr(msg, 'content'):
|
2331
|
-
prompts.append(str(msg.content))
|
2332
|
-
else:
|
2333
|
-
prompts.append(str(msg))
|
2334
|
-
|
2335
|
-
# Call on_llm_start
|
2336
|
-
callback_handler.on_llm_start(
|
2337
|
-
serialized={'name': type(self_llm).__name__},
|
2338
|
-
prompts=prompts,
|
2339
|
-
run_id=run_id
|
2340
|
-
)
|
2341
|
-
|
2342
|
-
# Store run_id for on_llm_end
|
2343
|
-
if not hasattr(self_llm, '_dasein_pending_run_ids'):
|
2344
|
-
self_llm._dasein_pending_run_ids = []
|
2345
|
-
self_llm._dasein_pending_run_ids.append(run_id)
|
2346
|
-
|
2295
|
+
# NOTE: Manual callback injection DISABLED - DaseinLLMWrapper handles callbacks
|
2296
|
+
# The patched methods ONLY do pipecleaner deduplication, not callbacks
|
2347
2297
|
result = orig_method(self_llm, *args, **kwargs)
|
2348
2298
|
|
2349
|
-
# Call on_llm_end if we called on_llm_start
|
2350
|
-
if meth_name in ['_generate', '_agenerate'] and callback_handler:
|
2351
|
-
if hasattr(self_llm, '_dasein_pending_run_ids') and self_llm._dasein_pending_run_ids:
|
2352
|
-
run_id = self_llm._dasein_pending_run_ids.pop(0)
|
2353
|
-
callback_handler.on_llm_end(result, run_id=run_id)
|
2354
|
-
|
2355
2299
|
# 🚨 MICROTURN ENFORCEMENT - DISABLED (can interfere with tool execution)
|
2356
2300
|
# TODO: Re-enable with proper gating if needed
|
2357
2301
|
|
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
|
{dasein_core-0.2.13 → dasein_core-0.2.14}/src/dasein/models/en_core_web_sm/en_core_web_sm/meta.json
RENAMED
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
|