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.
- DolphinLanguageSDK/__init__.py +58 -0
- dolphin/__init__.py +62 -0
- dolphin/cli/__init__.py +20 -0
- dolphin/cli/args/__init__.py +9 -0
- dolphin/cli/args/parser.py +567 -0
- dolphin/cli/builtin_agents/__init__.py +22 -0
- dolphin/cli/commands/__init__.py +4 -0
- dolphin/cli/interrupt/__init__.py +8 -0
- dolphin/cli/interrupt/handler.py +205 -0
- dolphin/cli/interrupt/keyboard.py +82 -0
- dolphin/cli/main.py +49 -0
- dolphin/cli/multimodal/__init__.py +34 -0
- dolphin/cli/multimodal/clipboard.py +327 -0
- dolphin/cli/multimodal/handler.py +249 -0
- dolphin/cli/multimodal/image_processor.py +214 -0
- dolphin/cli/multimodal/input_parser.py +149 -0
- dolphin/cli/runner/__init__.py +8 -0
- dolphin/cli/runner/runner.py +989 -0
- dolphin/cli/ui/__init__.py +10 -0
- dolphin/cli/ui/console.py +2795 -0
- dolphin/cli/ui/input.py +340 -0
- dolphin/cli/ui/layout.py +425 -0
- dolphin/cli/ui/stream_renderer.py +302 -0
- dolphin/cli/utils/__init__.py +8 -0
- dolphin/cli/utils/helpers.py +135 -0
- dolphin/cli/utils/version.py +49 -0
- dolphin/core/__init__.py +107 -0
- dolphin/core/agent/__init__.py +10 -0
- dolphin/core/agent/agent_state.py +69 -0
- dolphin/core/agent/base_agent.py +970 -0
- dolphin/core/code_block/__init__.py +0 -0
- dolphin/core/code_block/agent_init_block.py +0 -0
- dolphin/core/code_block/assign_block.py +98 -0
- dolphin/core/code_block/basic_code_block.py +1865 -0
- dolphin/core/code_block/explore_block.py +1327 -0
- dolphin/core/code_block/explore_block_v2.py +712 -0
- dolphin/core/code_block/explore_strategy.py +672 -0
- dolphin/core/code_block/judge_block.py +220 -0
- dolphin/core/code_block/prompt_block.py +32 -0
- dolphin/core/code_block/skill_call_deduplicator.py +291 -0
- dolphin/core/code_block/tool_block.py +129 -0
- dolphin/core/common/__init__.py +17 -0
- dolphin/core/common/constants.py +176 -0
- dolphin/core/common/enums.py +1173 -0
- dolphin/core/common/exceptions.py +133 -0
- dolphin/core/common/multimodal.py +539 -0
- dolphin/core/common/object_type.py +165 -0
- dolphin/core/common/output_format.py +432 -0
- dolphin/core/common/types.py +36 -0
- dolphin/core/config/__init__.py +16 -0
- dolphin/core/config/global_config.py +1289 -0
- dolphin/core/config/ontology_config.py +133 -0
- dolphin/core/context/__init__.py +12 -0
- dolphin/core/context/context.py +1580 -0
- dolphin/core/context/context_manager.py +161 -0
- dolphin/core/context/var_output.py +82 -0
- dolphin/core/context/variable_pool.py +356 -0
- dolphin/core/context_engineer/__init__.py +41 -0
- dolphin/core/context_engineer/config/__init__.py +5 -0
- dolphin/core/context_engineer/config/settings.py +402 -0
- dolphin/core/context_engineer/core/__init__.py +7 -0
- dolphin/core/context_engineer/core/budget_manager.py +327 -0
- dolphin/core/context_engineer/core/context_assembler.py +583 -0
- dolphin/core/context_engineer/core/context_manager.py +637 -0
- dolphin/core/context_engineer/core/tokenizer_service.py +260 -0
- dolphin/core/context_engineer/example/incremental_example.py +267 -0
- dolphin/core/context_engineer/example/traditional_example.py +334 -0
- dolphin/core/context_engineer/services/__init__.py +5 -0
- dolphin/core/context_engineer/services/compressor.py +399 -0
- dolphin/core/context_engineer/utils/__init__.py +6 -0
- dolphin/core/context_engineer/utils/context_utils.py +441 -0
- dolphin/core/context_engineer/utils/message_formatter.py +270 -0
- dolphin/core/context_engineer/utils/token_utils.py +139 -0
- dolphin/core/coroutine/__init__.py +15 -0
- dolphin/core/coroutine/context_snapshot.py +154 -0
- dolphin/core/coroutine/context_snapshot_profile.py +922 -0
- dolphin/core/coroutine/context_snapshot_store.py +268 -0
- dolphin/core/coroutine/execution_frame.py +145 -0
- dolphin/core/coroutine/execution_state_registry.py +161 -0
- dolphin/core/coroutine/resume_handle.py +101 -0
- dolphin/core/coroutine/step_result.py +101 -0
- dolphin/core/executor/__init__.py +18 -0
- dolphin/core/executor/debug_controller.py +630 -0
- dolphin/core/executor/dolphin_executor.py +1063 -0
- dolphin/core/executor/executor.py +624 -0
- dolphin/core/flags/__init__.py +27 -0
- dolphin/core/flags/definitions.py +49 -0
- dolphin/core/flags/manager.py +113 -0
- dolphin/core/hook/__init__.py +95 -0
- dolphin/core/hook/expression_evaluator.py +499 -0
- dolphin/core/hook/hook_dispatcher.py +380 -0
- dolphin/core/hook/hook_types.py +248 -0
- dolphin/core/hook/isolated_variable_pool.py +284 -0
- dolphin/core/interfaces.py +53 -0
- dolphin/core/llm/__init__.py +0 -0
- dolphin/core/llm/llm.py +495 -0
- dolphin/core/llm/llm_call.py +100 -0
- dolphin/core/llm/llm_client.py +1285 -0
- dolphin/core/llm/message_sanitizer.py +120 -0
- dolphin/core/logging/__init__.py +20 -0
- dolphin/core/logging/logger.py +526 -0
- dolphin/core/message/__init__.py +8 -0
- dolphin/core/message/compressor.py +749 -0
- dolphin/core/parser/__init__.py +8 -0
- dolphin/core/parser/parser.py +405 -0
- dolphin/core/runtime/__init__.py +10 -0
- dolphin/core/runtime/runtime_graph.py +926 -0
- dolphin/core/runtime/runtime_instance.py +446 -0
- dolphin/core/skill/__init__.py +14 -0
- dolphin/core/skill/context_retention.py +157 -0
- dolphin/core/skill/skill_function.py +686 -0
- dolphin/core/skill/skill_matcher.py +282 -0
- dolphin/core/skill/skillkit.py +700 -0
- dolphin/core/skill/skillset.py +72 -0
- dolphin/core/trajectory/__init__.py +10 -0
- dolphin/core/trajectory/recorder.py +189 -0
- dolphin/core/trajectory/trajectory.py +522 -0
- dolphin/core/utils/__init__.py +9 -0
- dolphin/core/utils/cache_kv.py +212 -0
- dolphin/core/utils/tools.py +340 -0
- dolphin/lib/__init__.py +93 -0
- dolphin/lib/debug/__init__.py +8 -0
- dolphin/lib/debug/visualizer.py +409 -0
- dolphin/lib/memory/__init__.py +28 -0
- dolphin/lib/memory/async_processor.py +220 -0
- dolphin/lib/memory/llm_calls.py +195 -0
- dolphin/lib/memory/manager.py +78 -0
- dolphin/lib/memory/sandbox.py +46 -0
- dolphin/lib/memory/storage.py +245 -0
- dolphin/lib/memory/utils.py +51 -0
- dolphin/lib/ontology/__init__.py +12 -0
- dolphin/lib/ontology/basic/__init__.py +0 -0
- dolphin/lib/ontology/basic/base.py +102 -0
- dolphin/lib/ontology/basic/concept.py +130 -0
- dolphin/lib/ontology/basic/object.py +11 -0
- dolphin/lib/ontology/basic/relation.py +63 -0
- dolphin/lib/ontology/datasource/__init__.py +27 -0
- dolphin/lib/ontology/datasource/datasource.py +66 -0
- dolphin/lib/ontology/datasource/oracle_datasource.py +338 -0
- dolphin/lib/ontology/datasource/sql.py +845 -0
- dolphin/lib/ontology/mapping.py +177 -0
- dolphin/lib/ontology/ontology.py +733 -0
- dolphin/lib/ontology/ontology_context.py +16 -0
- dolphin/lib/ontology/ontology_manager.py +107 -0
- dolphin/lib/skill_results/__init__.py +31 -0
- dolphin/lib/skill_results/cache_backend.py +559 -0
- dolphin/lib/skill_results/result_processor.py +181 -0
- dolphin/lib/skill_results/result_reference.py +179 -0
- dolphin/lib/skill_results/skillkit_hook.py +324 -0
- dolphin/lib/skill_results/strategies.py +328 -0
- dolphin/lib/skill_results/strategy_registry.py +150 -0
- dolphin/lib/skillkits/__init__.py +44 -0
- dolphin/lib/skillkits/agent_skillkit.py +155 -0
- dolphin/lib/skillkits/cognitive_skillkit.py +82 -0
- dolphin/lib/skillkits/env_skillkit.py +250 -0
- dolphin/lib/skillkits/mcp_adapter.py +616 -0
- dolphin/lib/skillkits/mcp_skillkit.py +771 -0
- dolphin/lib/skillkits/memory_skillkit.py +650 -0
- dolphin/lib/skillkits/noop_skillkit.py +31 -0
- dolphin/lib/skillkits/ontology_skillkit.py +89 -0
- dolphin/lib/skillkits/plan_act_skillkit.py +452 -0
- dolphin/lib/skillkits/resource/__init__.py +52 -0
- dolphin/lib/skillkits/resource/models/__init__.py +6 -0
- dolphin/lib/skillkits/resource/models/skill_config.py +109 -0
- dolphin/lib/skillkits/resource/models/skill_meta.py +127 -0
- dolphin/lib/skillkits/resource/resource_skillkit.py +393 -0
- dolphin/lib/skillkits/resource/skill_cache.py +215 -0
- dolphin/lib/skillkits/resource/skill_loader.py +395 -0
- dolphin/lib/skillkits/resource/skill_validator.py +406 -0
- dolphin/lib/skillkits/resource_skillkit.py +11 -0
- dolphin/lib/skillkits/search_skillkit.py +163 -0
- dolphin/lib/skillkits/sql_skillkit.py +274 -0
- dolphin/lib/skillkits/system_skillkit.py +509 -0
- dolphin/lib/skillkits/vm_skillkit.py +65 -0
- dolphin/lib/utils/__init__.py +9 -0
- dolphin/lib/utils/data_process.py +207 -0
- dolphin/lib/utils/handle_progress.py +178 -0
- dolphin/lib/utils/security.py +139 -0
- dolphin/lib/utils/text_retrieval.py +462 -0
- dolphin/lib/vm/__init__.py +11 -0
- dolphin/lib/vm/env_executor.py +895 -0
- dolphin/lib/vm/python_session_manager.py +453 -0
- dolphin/lib/vm/vm.py +610 -0
- dolphin/sdk/__init__.py +60 -0
- dolphin/sdk/agent/__init__.py +12 -0
- dolphin/sdk/agent/agent_factory.py +236 -0
- dolphin/sdk/agent/dolphin_agent.py +1106 -0
- dolphin/sdk/api/__init__.py +4 -0
- dolphin/sdk/runtime/__init__.py +8 -0
- dolphin/sdk/runtime/env.py +363 -0
- dolphin/sdk/skill/__init__.py +10 -0
- dolphin/sdk/skill/global_skills.py +706 -0
- dolphin/sdk/skill/traditional_toolkit.py +260 -0
- kweaver_dolphin-0.1.0.dist-info/METADATA +521 -0
- kweaver_dolphin-0.1.0.dist-info/RECORD +199 -0
- kweaver_dolphin-0.1.0.dist-info/WHEEL +5 -0
- kweaver_dolphin-0.1.0.dist-info/entry_points.txt +27 -0
- kweaver_dolphin-0.1.0.dist-info/licenses/LICENSE.txt +201 -0
- kweaver_dolphin-0.1.0.dist-info/top_level.txt +2 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from dataclasses import dataclass
|
|
4
|
+
from typing import TYPE_CHECKING, Literal, Optional, Dict, Any
|
|
5
|
+
|
|
6
|
+
if TYPE_CHECKING:
|
|
7
|
+
from dolphin.core.coroutine.resume_handle import ResumeHandle
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@dataclass
|
|
11
|
+
class StepResult:
|
|
12
|
+
"""Unified result for a single coroutine step.
|
|
13
|
+
|
|
14
|
+
- status: "running" when more steps remain, "completed" when finished, "interrupted" when intervention needed
|
|
15
|
+
- result: optional payload at any status (e.g., intermediate data during running, final user variables when completed)
|
|
16
|
+
- resume_handle: handle for resuming from interruption
|
|
17
|
+
|
|
18
|
+
Status values:
|
|
19
|
+
- "running": execution continuing, more steps remain
|
|
20
|
+
- "completed": execution finished successfully
|
|
21
|
+
- "interrupted": execution paused due to interruption (tool or user)
|
|
22
|
+
- "user_interrupted": (internal) specifically marks UserInterrupt, but external yield uses "interrupted" + interrupt_type
|
|
23
|
+
|
|
24
|
+
Interrupt Type Discrimination:
|
|
25
|
+
- When yielded externally, all interrupts use status="interrupted"
|
|
26
|
+
- Use resume_handle.interrupt_type to distinguish:
|
|
27
|
+
- "tool_interrupt": tool requested user input (ToolInterrupt)
|
|
28
|
+
- "user_interrupt": user actively interrupted (UserInterrupt)
|
|
29
|
+
|
|
30
|
+
Truthiness: bool(StepResult) is True only when status == "completed".
|
|
31
|
+
This preserves existing `if is_complete:` style checks.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
status: Literal["running", "completed", "interrupted", "user_interrupted"]
|
|
35
|
+
result: Optional[Dict[str, Any]] = None
|
|
36
|
+
resume_handle: Optional["ResumeHandle"] = None
|
|
37
|
+
|
|
38
|
+
def __bool__(self) -> bool: # pragma: no cover - simple helper
|
|
39
|
+
"""Returns True only when status is 'completed' for backward compatibility"""
|
|
40
|
+
return self.status == "completed"
|
|
41
|
+
|
|
42
|
+
@property
|
|
43
|
+
def is_interrupted(self) -> bool:
|
|
44
|
+
"""Check if execution was interrupted (tool or user).
|
|
45
|
+
|
|
46
|
+
Returns True for both 'interrupted' (ToolInterrupt) and 'user_interrupted' (UserInterrupt).
|
|
47
|
+
Use is_user_interrupted or is_tool_interrupted for specific checks.
|
|
48
|
+
"""
|
|
49
|
+
return self.status in ("interrupted", "user_interrupted")
|
|
50
|
+
|
|
51
|
+
@property
|
|
52
|
+
def is_tool_interrupted(self) -> bool:
|
|
53
|
+
"""Check if execution was interrupted by a tool (ToolInterrupt)"""
|
|
54
|
+
return self.status == "interrupted"
|
|
55
|
+
|
|
56
|
+
@property
|
|
57
|
+
def is_user_interrupted(self) -> bool:
|
|
58
|
+
"""Check if execution was interrupted by user (UserInterrupt)"""
|
|
59
|
+
return self.status == "user_interrupted"
|
|
60
|
+
|
|
61
|
+
@property
|
|
62
|
+
def is_running(self) -> bool:
|
|
63
|
+
"""Check if execution is still running"""
|
|
64
|
+
return self.status == "running"
|
|
65
|
+
|
|
66
|
+
@property
|
|
67
|
+
def is_completed(self) -> bool:
|
|
68
|
+
"""Check if execution is completed"""
|
|
69
|
+
return self.status == "completed"
|
|
70
|
+
|
|
71
|
+
@classmethod
|
|
72
|
+
def running(cls, result: Optional[Dict[str, Any]] = None) -> "StepResult":
|
|
73
|
+
"""Create a running status result with optional intermediate data"""
|
|
74
|
+
return cls(status="running", result=result)
|
|
75
|
+
|
|
76
|
+
@classmethod
|
|
77
|
+
def completed(cls, result: Optional[Dict[str, Any]] = None) -> "StepResult":
|
|
78
|
+
"""Create a completed status result with optional result data"""
|
|
79
|
+
return cls(status="completed", result=result)
|
|
80
|
+
|
|
81
|
+
@classmethod
|
|
82
|
+
def interrupted(cls, resume_handle: "ResumeHandle") -> "StepResult":
|
|
83
|
+
"""Create an interrupted status result with resume handle (ToolInterrupt)"""
|
|
84
|
+
return cls(status="interrupted", resume_handle=resume_handle)
|
|
85
|
+
|
|
86
|
+
@classmethod
|
|
87
|
+
def user_interrupted(
|
|
88
|
+
cls,
|
|
89
|
+
resume_handle: "ResumeHandle",
|
|
90
|
+
result: Optional[Dict[str, Any]] = None,
|
|
91
|
+
) -> "StepResult":
|
|
92
|
+
"""Create a user-interrupted status result with resume handle (UserInterrupt).
|
|
93
|
+
|
|
94
|
+
Args:
|
|
95
|
+
resume_handle: Handle for resuming execution
|
|
96
|
+
result: Optional partial result data (e.g., partial LLM output)
|
|
97
|
+
|
|
98
|
+
Returns:
|
|
99
|
+
StepResult with status="user_interrupted"
|
|
100
|
+
"""
|
|
101
|
+
return cls(status="user_interrupted", resume_handle=resume_handle, result=result)
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
"""Executor 模块 - 执行器"""
|
|
3
|
+
|
|
4
|
+
from dolphin.core.executor.executor import Executor
|
|
5
|
+
from dolphin.core.executor.debug_controller import DebugController
|
|
6
|
+
|
|
7
|
+
# DolphinExecutor has sdk dependencies, use lazy import
|
|
8
|
+
def __getattr__(name):
|
|
9
|
+
if name == "DolphinExecutor":
|
|
10
|
+
from dolphin.core.executor.dolphin_executor import DolphinExecutor
|
|
11
|
+
return DolphinExecutor
|
|
12
|
+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
|
13
|
+
|
|
14
|
+
__all__ = [
|
|
15
|
+
"Executor",
|
|
16
|
+
"DolphinExecutor",
|
|
17
|
+
"DebugController",
|
|
18
|
+
]
|