MCPcopy Create free account
hub / github.com/Louisym/MiniCC / build_runtime

Function build_runtime

mini_claude_code/main.py:180–210  ·  view source on GitHub ↗

源码: main.rs:2318-2336

(
    session: Session,
    api_client,
    registry: ToolRegistry,
    permission_mode: PermissionMode,
    system_prompt: list[str],
    hook_runner: Optional[HookRunner] = None,
)

Source from the content-addressed store, hash-verified

178# ============================================================
179
180def build_runtime(
181 session: Session,
182 api_client,
183 registry: ToolRegistry,
184 permission_mode: PermissionMode,
185 system_prompt: list[str],
186 hook_runner: Optional[HookRunner] = None,
187) -> ConversationRuntime:
188 """源码: main.rs:2318-2336"""
189 # 构建权限策略 — main.rs:3079-3085
190 # CC 从 tool_specs 批量注册。我们简化为手动注册常用工具权限。
191 policy = (
192 PermissionPolicy(permission_mode)
193 .with_tool_requirement("read_file", PermissionMode.READ_ONLY)
194 .with_tool_requirement("glob_search", PermissionMode.READ_ONLY)
195 .with_tool_requirement("grep_search", PermissionMode.READ_ONLY)
196 .with_tool_requirement("write_file", PermissionMode.WORKSPACE_WRITE)
197 .with_tool_requirement("edit_file", PermissionMode.WORKSPACE_WRITE)
198 .with_tool_requirement("bash", PermissionMode.DANGER_FULL_ACCESS)
199 )
200
201 tool_executor = CliToolExecutor(registry)
202
203 return ConversationRuntime(
204 session=session,
205 api_client=api_client,
206 tool_executor=tool_executor,
207 permission_policy=policy,
208 system_prompt=system_prompt,
209 hook_runner=hook_runner,
210 )
211
212
213# ============================================================

Callers 2

run_replFunction · 0.70
mainFunction · 0.70

Calls 4

PermissionPolicyClass · 0.90
ConversationRuntimeClass · 0.90
CliToolExecutorClass · 0.70
with_tool_requirementMethod · 0.45

Tested by

no test coverage detected