kweaver-dolphin 0.1.0__py3-none-any.whl

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 (199) hide show
  1. DolphinLanguageSDK/__init__.py +58 -0
  2. dolphin/__init__.py +62 -0
  3. dolphin/cli/__init__.py +20 -0
  4. dolphin/cli/args/__init__.py +9 -0
  5. dolphin/cli/args/parser.py +567 -0
  6. dolphin/cli/builtin_agents/__init__.py +22 -0
  7. dolphin/cli/commands/__init__.py +4 -0
  8. dolphin/cli/interrupt/__init__.py +8 -0
  9. dolphin/cli/interrupt/handler.py +205 -0
  10. dolphin/cli/interrupt/keyboard.py +82 -0
  11. dolphin/cli/main.py +49 -0
  12. dolphin/cli/multimodal/__init__.py +34 -0
  13. dolphin/cli/multimodal/clipboard.py +327 -0
  14. dolphin/cli/multimodal/handler.py +249 -0
  15. dolphin/cli/multimodal/image_processor.py +214 -0
  16. dolphin/cli/multimodal/input_parser.py +149 -0
  17. dolphin/cli/runner/__init__.py +8 -0
  18. dolphin/cli/runner/runner.py +989 -0
  19. dolphin/cli/ui/__init__.py +10 -0
  20. dolphin/cli/ui/console.py +2795 -0
  21. dolphin/cli/ui/input.py +340 -0
  22. dolphin/cli/ui/layout.py +425 -0
  23. dolphin/cli/ui/stream_renderer.py +302 -0
  24. dolphin/cli/utils/__init__.py +8 -0
  25. dolphin/cli/utils/helpers.py +135 -0
  26. dolphin/cli/utils/version.py +49 -0
  27. dolphin/core/__init__.py +107 -0
  28. dolphin/core/agent/__init__.py +10 -0
  29. dolphin/core/agent/agent_state.py +69 -0
  30. dolphin/core/agent/base_agent.py +970 -0
  31. dolphin/core/code_block/__init__.py +0 -0
  32. dolphin/core/code_block/agent_init_block.py +0 -0
  33. dolphin/core/code_block/assign_block.py +98 -0
  34. dolphin/core/code_block/basic_code_block.py +1865 -0
  35. dolphin/core/code_block/explore_block.py +1327 -0
  36. dolphin/core/code_block/explore_block_v2.py +712 -0
  37. dolphin/core/code_block/explore_strategy.py +672 -0
  38. dolphin/core/code_block/judge_block.py +220 -0
  39. dolphin/core/code_block/prompt_block.py +32 -0
  40. dolphin/core/code_block/skill_call_deduplicator.py +291 -0
  41. dolphin/core/code_block/tool_block.py +129 -0
  42. dolphin/core/common/__init__.py +17 -0
  43. dolphin/core/common/constants.py +176 -0
  44. dolphin/core/common/enums.py +1173 -0
  45. dolphin/core/common/exceptions.py +133 -0
  46. dolphin/core/common/multimodal.py +539 -0
  47. dolphin/core/common/object_type.py +165 -0
  48. dolphin/core/common/output_format.py +432 -0
  49. dolphin/core/common/types.py +36 -0
  50. dolphin/core/config/__init__.py +16 -0
  51. dolphin/core/config/global_config.py +1289 -0
  52. dolphin/core/config/ontology_config.py +133 -0
  53. dolphin/core/context/__init__.py +12 -0
  54. dolphin/core/context/context.py +1580 -0
  55. dolphin/core/context/context_manager.py +161 -0
  56. dolphin/core/context/var_output.py +82 -0
  57. dolphin/core/context/variable_pool.py +356 -0
  58. dolphin/core/context_engineer/__init__.py +41 -0
  59. dolphin/core/context_engineer/config/__init__.py +5 -0
  60. dolphin/core/context_engineer/config/settings.py +402 -0
  61. dolphin/core/context_engineer/core/__init__.py +7 -0
  62. dolphin/core/context_engineer/core/budget_manager.py +327 -0
  63. dolphin/core/context_engineer/core/context_assembler.py +583 -0
  64. dolphin/core/context_engineer/core/context_manager.py +637 -0
  65. dolphin/core/context_engineer/core/tokenizer_service.py +260 -0
  66. dolphin/core/context_engineer/example/incremental_example.py +267 -0
  67. dolphin/core/context_engineer/example/traditional_example.py +334 -0
  68. dolphin/core/context_engineer/services/__init__.py +5 -0
  69. dolphin/core/context_engineer/services/compressor.py +399 -0
  70. dolphin/core/context_engineer/utils/__init__.py +6 -0
  71. dolphin/core/context_engineer/utils/context_utils.py +441 -0
  72. dolphin/core/context_engineer/utils/message_formatter.py +270 -0
  73. dolphin/core/context_engineer/utils/token_utils.py +139 -0
  74. dolphin/core/coroutine/__init__.py +15 -0
  75. dolphin/core/coroutine/context_snapshot.py +154 -0
  76. dolphin/core/coroutine/context_snapshot_profile.py +922 -0
  77. dolphin/core/coroutine/context_snapshot_store.py +268 -0
  78. dolphin/core/coroutine/execution_frame.py +145 -0
  79. dolphin/core/coroutine/execution_state_registry.py +161 -0
  80. dolphin/core/coroutine/resume_handle.py +101 -0
  81. dolphin/core/coroutine/step_result.py +101 -0
  82. dolphin/core/executor/__init__.py +18 -0
  83. dolphin/core/executor/debug_controller.py +630 -0
  84. dolphin/core/executor/dolphin_executor.py +1063 -0
  85. dolphin/core/executor/executor.py +624 -0
  86. dolphin/core/flags/__init__.py +27 -0
  87. dolphin/core/flags/definitions.py +49 -0
  88. dolphin/core/flags/manager.py +113 -0
  89. dolphin/core/hook/__init__.py +95 -0
  90. dolphin/core/hook/expression_evaluator.py +499 -0
  91. dolphin/core/hook/hook_dispatcher.py +380 -0
  92. dolphin/core/hook/hook_types.py +248 -0
  93. dolphin/core/hook/isolated_variable_pool.py +284 -0
  94. dolphin/core/interfaces.py +53 -0
  95. dolphin/core/llm/__init__.py +0 -0
  96. dolphin/core/llm/llm.py +495 -0
  97. dolphin/core/llm/llm_call.py +100 -0
  98. dolphin/core/llm/llm_client.py +1285 -0
  99. dolphin/core/llm/message_sanitizer.py +120 -0
  100. dolphin/core/logging/__init__.py +20 -0
  101. dolphin/core/logging/logger.py +526 -0
  102. dolphin/core/message/__init__.py +8 -0
  103. dolphin/core/message/compressor.py +749 -0
  104. dolphin/core/parser/__init__.py +8 -0
  105. dolphin/core/parser/parser.py +405 -0
  106. dolphin/core/runtime/__init__.py +10 -0
  107. dolphin/core/runtime/runtime_graph.py +926 -0
  108. dolphin/core/runtime/runtime_instance.py +446 -0
  109. dolphin/core/skill/__init__.py +14 -0
  110. dolphin/core/skill/context_retention.py +157 -0
  111. dolphin/core/skill/skill_function.py +686 -0
  112. dolphin/core/skill/skill_matcher.py +282 -0
  113. dolphin/core/skill/skillkit.py +700 -0
  114. dolphin/core/skill/skillset.py +72 -0
  115. dolphin/core/trajectory/__init__.py +10 -0
  116. dolphin/core/trajectory/recorder.py +189 -0
  117. dolphin/core/trajectory/trajectory.py +522 -0
  118. dolphin/core/utils/__init__.py +9 -0
  119. dolphin/core/utils/cache_kv.py +212 -0
  120. dolphin/core/utils/tools.py +340 -0
  121. dolphin/lib/__init__.py +93 -0
  122. dolphin/lib/debug/__init__.py +8 -0
  123. dolphin/lib/debug/visualizer.py +409 -0
  124. dolphin/lib/memory/__init__.py +28 -0
  125. dolphin/lib/memory/async_processor.py +220 -0
  126. dolphin/lib/memory/llm_calls.py +195 -0
  127. dolphin/lib/memory/manager.py +78 -0
  128. dolphin/lib/memory/sandbox.py +46 -0
  129. dolphin/lib/memory/storage.py +245 -0
  130. dolphin/lib/memory/utils.py +51 -0
  131. dolphin/lib/ontology/__init__.py +12 -0
  132. dolphin/lib/ontology/basic/__init__.py +0 -0
  133. dolphin/lib/ontology/basic/base.py +102 -0
  134. dolphin/lib/ontology/basic/concept.py +130 -0
  135. dolphin/lib/ontology/basic/object.py +11 -0
  136. dolphin/lib/ontology/basic/relation.py +63 -0
  137. dolphin/lib/ontology/datasource/__init__.py +27 -0
  138. dolphin/lib/ontology/datasource/datasource.py +66 -0
  139. dolphin/lib/ontology/datasource/oracle_datasource.py +338 -0
  140. dolphin/lib/ontology/datasource/sql.py +845 -0
  141. dolphin/lib/ontology/mapping.py +177 -0
  142. dolphin/lib/ontology/ontology.py +733 -0
  143. dolphin/lib/ontology/ontology_context.py +16 -0
  144. dolphin/lib/ontology/ontology_manager.py +107 -0
  145. dolphin/lib/skill_results/__init__.py +31 -0
  146. dolphin/lib/skill_results/cache_backend.py +559 -0
  147. dolphin/lib/skill_results/result_processor.py +181 -0
  148. dolphin/lib/skill_results/result_reference.py +179 -0
  149. dolphin/lib/skill_results/skillkit_hook.py +324 -0
  150. dolphin/lib/skill_results/strategies.py +328 -0
  151. dolphin/lib/skill_results/strategy_registry.py +150 -0
  152. dolphin/lib/skillkits/__init__.py +44 -0
  153. dolphin/lib/skillkits/agent_skillkit.py +155 -0
  154. dolphin/lib/skillkits/cognitive_skillkit.py +82 -0
  155. dolphin/lib/skillkits/env_skillkit.py +250 -0
  156. dolphin/lib/skillkits/mcp_adapter.py +616 -0
  157. dolphin/lib/skillkits/mcp_skillkit.py +771 -0
  158. dolphin/lib/skillkits/memory_skillkit.py +650 -0
  159. dolphin/lib/skillkits/noop_skillkit.py +31 -0
  160. dolphin/lib/skillkits/ontology_skillkit.py +89 -0
  161. dolphin/lib/skillkits/plan_act_skillkit.py +452 -0
  162. dolphin/lib/skillkits/resource/__init__.py +52 -0
  163. dolphin/lib/skillkits/resource/models/__init__.py +6 -0
  164. dolphin/lib/skillkits/resource/models/skill_config.py +109 -0
  165. dolphin/lib/skillkits/resource/models/skill_meta.py +127 -0
  166. dolphin/lib/skillkits/resource/resource_skillkit.py +393 -0
  167. dolphin/lib/skillkits/resource/skill_cache.py +215 -0
  168. dolphin/lib/skillkits/resource/skill_loader.py +395 -0
  169. dolphin/lib/skillkits/resource/skill_validator.py +406 -0
  170. dolphin/lib/skillkits/resource_skillkit.py +11 -0
  171. dolphin/lib/skillkits/search_skillkit.py +163 -0
  172. dolphin/lib/skillkits/sql_skillkit.py +274 -0
  173. dolphin/lib/skillkits/system_skillkit.py +509 -0
  174. dolphin/lib/skillkits/vm_skillkit.py +65 -0
  175. dolphin/lib/utils/__init__.py +9 -0
  176. dolphin/lib/utils/data_process.py +207 -0
  177. dolphin/lib/utils/handle_progress.py +178 -0
  178. dolphin/lib/utils/security.py +139 -0
  179. dolphin/lib/utils/text_retrieval.py +462 -0
  180. dolphin/lib/vm/__init__.py +11 -0
  181. dolphin/lib/vm/env_executor.py +895 -0
  182. dolphin/lib/vm/python_session_manager.py +453 -0
  183. dolphin/lib/vm/vm.py +610 -0
  184. dolphin/sdk/__init__.py +60 -0
  185. dolphin/sdk/agent/__init__.py +12 -0
  186. dolphin/sdk/agent/agent_factory.py +236 -0
  187. dolphin/sdk/agent/dolphin_agent.py +1106 -0
  188. dolphin/sdk/api/__init__.py +4 -0
  189. dolphin/sdk/runtime/__init__.py +8 -0
  190. dolphin/sdk/runtime/env.py +363 -0
  191. dolphin/sdk/skill/__init__.py +10 -0
  192. dolphin/sdk/skill/global_skills.py +706 -0
  193. dolphin/sdk/skill/traditional_toolkit.py +260 -0
  194. kweaver_dolphin-0.1.0.dist-info/METADATA +521 -0
  195. kweaver_dolphin-0.1.0.dist-info/RECORD +199 -0
  196. kweaver_dolphin-0.1.0.dist-info/WHEEL +5 -0
  197. kweaver_dolphin-0.1.0.dist-info/entry_points.txt +27 -0
  198. kweaver_dolphin-0.1.0.dist-info/licenses/LICENSE.txt +201 -0
  199. kweaver_dolphin-0.1.0.dist-info/top_level.txt +2 -0
@@ -0,0 +1,16 @@
1
+ from dolphin.core.config.ontology_config import OntologyConfig
2
+ from dolphin.lib.ontology.ontology_manager import OntologyManager
3
+
4
+
5
+ class OntologyContext:
6
+ """Global context class, managing ontologies and data sources"""
7
+
8
+ def __init__(self, ontologyConfig: OntologyConfig):
9
+ self.ontologyManager = OntologyManager(ontologyConfig)
10
+
11
+ def getOntology(self):
12
+ return self.ontologyManager.getOntology()
13
+
14
+ @staticmethod
15
+ def loadOntologyContext(ontologyConfig: OntologyConfig) -> "OntologyContext":
16
+ return OntologyContext(ontologyConfig)
@@ -0,0 +1,107 @@
1
+ """
2
+ Ontology Manager Module
3
+ """
4
+
5
+ import threading
6
+ from typing import Optional
7
+
8
+ from dolphin.lib.ontology.ontology import Ontology
9
+ from dolphin.core.config import OntologyConfig
10
+
11
+ # Add import of Dolphin SDK log
12
+ from dolphin.core.logging.logger import get_logger
13
+
14
+ logger = get_logger("ontology")
15
+
16
+
17
+ class OntologyManager:
18
+ """Manage Ontology instances and are responsible for regularly synchronizing data sources."""
19
+
20
+ def __init__(self, ontologyConfig: OntologyConfig, syncIntervalSeconds: int = 60):
21
+ """Initialize the OntologyManager.
22
+
23
+ Args:
24
+ ontologyConfig (OntologyConfig): The ontology configuration.
25
+ syncIntervalSeconds (int): The synchronization interval for data sources in seconds, default is 1 hour.
26
+ """
27
+ self.ontology: Ontology = Ontology(ontologyConfig)
28
+ self.syncIntervalSeconds: int = syncIntervalSeconds
29
+ self._syncThread: Optional[threading.Thread] = None
30
+ self._stopEvent: threading.Event = threading.Event()
31
+ self._syncLock: threading.Lock = threading.Lock()
32
+ logger.debug(f"OntologyManager initialized,sync interval: {syncIntervalSeconds} s")
33
+
34
+ self.ontology.buildOntologyFromSources(runScan=True, concurrent=True)
35
+ logger.debug("OntologyManager Ontology build completed")
36
+
37
+ def _synchronizeDataSource(self) -> None:
38
+ """Background synchronization task, periodically triggering ontology data source scanning and building."""
39
+ logger.debug("Ontology sync thread started")
40
+ while not self._stopEvent.is_set():
41
+ try:
42
+ logger.debug("Starting ontology synchronization...")
43
+ with self._syncLock:
44
+ # The actual synchronization logic, calling Ontology's methods here
45
+ # Assume that Ontology has a buildOntologyFromSources method for synchronization
46
+ # The parameters here may need to be adjusted according to the actual situation.
47
+ self.ontology.buildOntologyFromSources(
48
+ runScan=True, concurrent=True
49
+ )
50
+ logger.debug("Ontology synchronization completed")
51
+
52
+ except Exception as e:
53
+ logger.exception(f"Error during ontology synchronization: {e}")
54
+
55
+ # Wait for the next synchronization period or stop event
56
+ self._stopEvent.wait(self.syncIntervalSeconds)
57
+
58
+ logger.debug("Ontology sync thread stopped")
59
+
60
+ def start(self) -> None:
61
+ """Start the background synchronization thread."""
62
+ if self._syncThread is not None and self._syncThread.is_alive():
63
+ logger.warning("Sync thread is already running")
64
+ return
65
+
66
+ self._stopEvent.clear()
67
+ self._syncThread = threading.Thread(
68
+ target=self._synchronizeDataSource, daemon=True
69
+ )
70
+ self._syncThread.start()
71
+ logger.debug("Requested to start ontology sync thread")
72
+
73
+ def stop(self) -> None:
74
+ """Stop the background synchronization thread."""
75
+ if self._syncThread is None or not self._syncThread.is_alive():
76
+ logger.debug("Sync thread is not running")
77
+ return
78
+
79
+ logger.debug("Requesting to stop ontology sync thread...")
80
+ self._stopEvent.set()
81
+ # You can choose to wait for the thread to finish, or return immediately.
82
+ # self._syncThread.join()
83
+ # logger.debug("The synchronization thread has been confirmed to have stopped")
84
+
85
+ def triggerSyncNow(self) -> None:
86
+ """Manually trigger a synchronization for this data source immediately."""
87
+ logger.debug("Starting manual ontology synchronization...")
88
+ try:
89
+ with self._syncLock:
90
+ # Assume that Ontology has a buildOntologyFromSources method for synchronization
91
+ # The parameters here may need to be adjusted according to the actual situation.
92
+ self.ontology.buildOntologyFromSources(runScan=True, concurrent=True)
93
+ logger.debug("手动Ontology synchronization completed")
94
+ except Exception as e:
95
+ logger.exception(f"手动Error during ontology synchronization: {e}")
96
+
97
+ def getOntology(self) -> Ontology:
98
+ return self.ontology
99
+
100
+ def getConcepts(self, concepts: list) -> list:
101
+ return self.ontology.getConcepts(concepts)
102
+
103
+ def getDataSourcesFromConcepts(self, concepts: list) -> list:
104
+ return self.ontology.getDataSourcesFromConcepts(concepts)
105
+
106
+ def getDataSourceSchemasFromConcepts(self, concepts: list) -> list:
107
+ return self.ontology.getDataSourceSchemasFromConcepts(concepts)
@@ -0,0 +1,31 @@
1
+ """Skill Result Module
2
+ Provides features such as result referencing, strategy handling, and strategy registration.
3
+ """
4
+
5
+ from dolphin.lib.skill_results.result_reference import ResultReference
6
+ from dolphin.lib.skill_results.cache_backend import CacheBackend
7
+ from dolphin.lib.skill_results.result_processor import ResultProcessor
8
+ from dolphin.lib.skill_results.strategies import (
9
+ BaseStrategy,
10
+ DefaultLLMStrategy,
11
+ SummaryLLMStrategy,
12
+ TruncateLLMStrategy,
13
+ DefaultAppStrategy,
14
+ PaginationAppStrategy,
15
+ PreviewAppStrategy,
16
+ )
17
+ from dolphin.lib.skill_results.strategy_registry import StrategyRegistry
18
+
19
+ __all__ = [
20
+ "ResultReference",
21
+ "CacheBackend",
22
+ "ResultProcessor",
23
+ "BaseStrategy",
24
+ "DefaultLLMStrategy",
25
+ "SummaryLLMStrategy",
26
+ "TruncateLLMStrategy",
27
+ "DefaultAppStrategy",
28
+ "PaginationAppStrategy",
29
+ "PreviewAppStrategy",
30
+ "StrategyRegistry",
31
+ ]